1

最近添加了一些引用控件的新 VBA 代码后,我的代码无法运行。经过调查,我发现问题出在引用控件的代码中的拼写错误:我将其键入为Me.CheckYearEmd(带有 m)而不是Me.CheckYearEnd

现在已经解决了,代码工作正常,但奇怪的是错误没有触发我的错误处理;它只是没有运行。我的错误处理非常简单:

On Error GoTo ErrHandler

... 'Rest of sub

Exit Sub

ErrHandler:
DoCmd.SetWarnings True
MsgBox "The database has generated an error. Please contact the database administrator, quoting the following error message: '" & Err.Description & "'", vbCritical, "Database Error"

关于引用不存在的控件(正如我在上面所做的那样)导致它绕过错误处理,是否有特定的内容,并且有没有办法捕获这些错误?

4

1 回答 1

2

我无法重现您描述的情况。当我在表单代码中拼错了控件名称时,从 VB 编辑器的主菜单运行 Debug->Compile 会触发编译错误:"Method or data member not found"

但是,如果我不运行 Debug->Compile 并且只是尝试使用拼写错误的名称运行表单的过程,我仍然会收到编译错误。

尽管我无法复制您的情况,但我会猜测为什么该过程的错误处理程序没有捕获它。指令 ,On Error GoTo ErrHandler捕获运行时错误。但是拼写错误的控件名称会触发编译错误。

于 2013-05-23T12:52:57.380 回答