【发布时间】:2019-04-10 22:56:33
【问题描述】:
非常令人费解: 通过 vba 从另一个表单打开一个简单表单时,光标会移动到特定字段。 但是,当此字段为 Null 时,每秒钟出现一次错误 2110。每次使用的语法都会发生变化,如下所示。
更令人费解的是: 单击“调试”后,错误被证明是虚构的:在相应的代码行上,只需按 F5 或 F8 即可继续,过程正确结束,焦点位于所需的位置。
我发现了一个不生成错误消息但希望尽可能避免这种 limping 编码的规定性解决方法:
'…
Debug.Print Me![MyTextField].Enabled ' always True
Debug.Print Me.Name ' always correct form
Me.Repaint
On Error Resume Next
[MyTextField].SetFocus ' without Me!
Me![MyTextField].SetFocus
' Forms![MyForm]![MytextField] : same result as with Me!]
' one time error with Me! but not without Me!,
' next time vice versa, and so forth…
On Error GoTo 0
'…
当 [MyTextField] 不为 Null 时,两种语法都可以正常工作而不会产生错误。
这个 .SetFocus 命令有什么问题? “修复”数据库没有帮助。
【问题讨论】:
标签: ms-access error-handling null syntax-error setfocus