小编Lok*_*rim的帖子

如何将引发的错误传递给VBA中的自定义错误处理程序?

我已经在Excel中使用VBA一段时间了,我为我的所有程序使用自定义错误处理程序.我发现自己第一次处于需要使用的位置Err.Raise(处理块中的Case Else情况Select Case).我无法弄清楚如何将错误传递给自定义错误处理程序.VBA不会将引发的错误传递给自定义处理程序,而是弹出自己的丑陋且无用的错误对话框.如果有人能告诉我解决这个问题的方法,我会非常感激.

下面是我正在使用的代码的通用版本(函数/变量名称已被更改以保护无辜者).该gErrorHandler对象是一个全局标注的类模块变量,它处理来自任何和所有过程的错误.

Public Function MyFunction(dblInputParameter As Double) As Double
On Error GoTo Err_MyFunction

    Dim dblResult as Double

    Select Case dblInputParameter 

        ...Several case statements go here...

        Case Else
            Err.Raise vbObjectError + 1000, "MyProjectName.MyObjectName", "Error Description"

    End Select

    MyFunction = dblResult

Exit_MyFunction:
    Exit Function

Err_MyFunction:
    gErrorHandler.DisplayError Err.Number, Err.Description, Erl, csModule, "basMyModuleName", "MyFunction"
    Resume Exit_MyFunction

End Function
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误对话框,而不是将错误传递给自定义处理程序:

在此输入图像描述

excel vba excel-vba

8
推荐指数
1
解决办法
6287
查看次数

使用ADODB for Web-DAV上传文件"找不到符合名称的任何对象或数据......"

我有一个在Windows 7上运行的MS Access 2007 VBA应用程序.一个关键的功能是将文件上传到WebDAV服务器.下面的代码在一台PC上完美运行,但在其他PC上运行失败(是的,每种都以相同的方式配置).

以下是在其他PC上出现故障时弹出的Norwegion错误消息的translate.google.com转换:

Run-time error '-2147217895 (80040e19)': can not find any objects or data in accordance with the name, range or selection criteria within the scope of this operation

它在这行代码上失败了:

objRecord.Open fil, "URL=" & URL, adModeReadWrite, adCreateOverwrite, adDelayFetchStream, sUsername, sPwd

完整的功能代码如下.它实际上只是重用http://social.msdn.microsoft.com/Forums/en-US/isvvba/thread/26b8e905-33d0-438b-98a7-bb69053b931e/上的代码.任何提示将不胜感激!

Function DAVPUT(ByVal URL As String, ByVal fil As String) As Boolean '
    Dim sUsername As String
    Dim sPwd As String
    sUsername = "k@dummy.com"
    sPwd = "dummy"

    Dim objRecord As New ADODB.Record
    Dim objStream As …
Run Code Online (Sandbox Code Playgroud)

vba adodb access-vba

6
推荐指数
1
解决办法
854
查看次数

我想了解Microsoft Access向导生成的查询

假设我有一个名为tbl_med的表,它有六个字段:[nom_lab],[nom_desc],[nom_apres],[date_vig],[cod_med],[vr_pmc].

我想要一个MS Access SQL查询,它将:

  1. 查找与四个字段相关的重复记录:[nom_lab],[nom_desc],[nom_apres],[date_vig].
  2. 显示所有六个字段(不仅仅是用于检查重复字段的字段).

我使用MS Access"查找重复查询向导",它给了我以下SQL:

SELECT tbl_med.[nom_lab], tbl_med.[nom_desc], tbl_med.[nom_apres], tbl_med.[date_vig], tbl_med.[cod_med], tbl_med.[vr_pmc]
FROM tbl_med
WHERE tbl_med.[nom_lab] 
IN 
(
    SELECT [nom_lab] 
    FROM [tbl_med] As Tmp 
    GROUP BY [nom_lab], [nom_desc], [nom_apres],[date_vig] 
    HAVING Count(*)>1
Run Code Online (Sandbox Code Playgroud)
    And [nom_desc] = [tbl_med].[nom_desc] 
    And [nom_apres] = [tbl_med].[nom_apres]
    And [date_vig] = [tbl_med].[date_vig]
Run Code Online (Sandbox Code Playgroud)
)
ORDER BY tbl_med.[nom_lab], tbl_med.[nom_desc], tbl_med.[nom_apres], tbl_med.[date_vig];
Run Code Online (Sandbox Code Playgroud)

谁能解释为什么And上面的水平规则线之间的三个条件是必要的?

有没有人有更直观的查询,这将更容易理解?

ms-access duplicate-data

5
推荐指数
1
解决办法
338
查看次数

学习XML的最佳资源是什么?

我希望学习XML,以便我可以在ASP.NET中使用它.任何人都可以提供一个在线资源的URL(或者,在最坏的情况下,书名),它有很好的XML内容?如果它包含有关XSLT/XSL的信息,那就更好了.

xml

2
推荐指数
1
解决办法
2966
查看次数

标签 统计

vba ×2

access-vba ×1

adodb ×1

duplicate-data ×1

excel ×1

excel-vba ×1

ms-access ×1

xml ×1