【发布时间】:2023-03-29 23:25:01
【问题描述】:
在一个访问数据库中,我有一个在启动时调用的小函数,它注册了一个用于生成条形码的软件。
如果未安装软件,则 Microsoft 会访问运行时错误,因此我想添加一些适当的错误处理,以告知用户导致问题的原因。
此函数在启动时从宏中调用,导致数据库崩溃,而不是错误处理正常工作。
我的错误处理不正确吗?
Public Function LicenseTBarCode()
On Error GoTo Err_LicenceTBarCode
Dim TB As New TBarCode10
TB.LicenseMe "<EXPUNGED>", eLicKindSite, 1, "<EXPUNGED>", eLicProd1D
Set TB = Nothing
Exit Function
Err_LicenceTBarCode:
MsgBox "TBarcode Software is not installed. Please contact the database administrator.", vbExclamation, Error
DoCmd.Quit
End Function
【问题讨论】:
-
您的错误代码在一般情况下是可以的,但我怀疑问题出在
Dim TB As New TBarCode10。这表明您已经创建了对相关库的引用,是这样吗? -
是的,有一个使用的类型库。当库不可用时会出现问题。我想如果找不到库,那么它将转到错误处理程序。
-
请注意,在 MS Access 中,缺少引用可能会导致问题,从而阻止看似不相关的代码运行。在大多数情况下,建议您使用后期绑定。
-
我同意@Remou 关于 LateBinding 的看法。我不得不删除我的答案,因为我错过了
Dim部分。
标签: ms-access ms-access-2007 vba ms-access-2010