Error 事件在窗体或报表拥有焦点,同时在 Microsoft Access 中产生了一个运行时错误时发生。
Private Sub object_Error(DataErr As Integer, Response As Integer)
Object 窗体或报表的名称。
DataErr 发生错误时由 Err 对象返回的错误代码。可以在 Error 函数中使用 DataErr 参数,将该编号映射到相映的错误消息。
Response 该设置确定是否显示错误消息。Response 参数可以是以下固有常量之一。
常量说明
acDataErrContinue 忽略错误并继续,不显示默认的 Microsoft Access 错误消息。您可以提供自定义错误消息来替代默认的错误消息。
acDataErrDisplay(默认值)显示默认的 Microsoft Access 错误消息。
这包括 Microsoft Jet 数据库引擎错误,但不包括 Visual Basic 中的运行时错误或来自 ADO 的错误。
如果要在此事件发生时执行一个宏或事件过程,请将 OnError 属性设置为宏的名称或 [事件过程]。
在 Error 事件发生时,通过执行事件过程或宏,可以截取 Microsoft Access 错误消息而显示自定义消息,这样可以根据应用程序传递更为具体的信息。
下面的示例指出了如何用自定义错误消息替代默认的错误消息。当 Microsoft Access 返回错误消息,指出它已找到重复键(错误代码 3022)时,此事件过程会显示一条消息,向用户提供更具体的特定于应用程序的信息。
若要试用该示例,请将下面的事件过程添加到基于表(该表将唯一的雇员 ID 编号作为每条记录的键)的窗体中。
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conDuplicateKey = 3022
Dim strMsg As String
If DataErr = conDuplicateKey Then
Response = acDataErrContinue
strMsg = "Each employee record must have a unique " _
& "employee ID number. Please recheck your data."
MsgBox strMsg
End If
End Sub