Error Event [Access 2003 VBA Language Reference]

The Error event occurs when a run-time error is produced in Microsoft Access when a form or report has the focus.

Private Sub object_Error(DataErr As Integer, Response As Integer)

Object   The name of a Form or Report.

DataErr   The error code returned by the Err object when an error occurs. You can use the DataErr argument with the Error function to map the number to the corresponding error message.

Response   The setting determines whether or not an error message is displayed. The Response argument can be one of the following intrinsic constants.

Constant Description

acDataErrContinue Ignore the error and continue without displaying the default Microsoft Access error message. You can supply a custom error message in place of the default error message.

acDataErrDisplay (Default) Display the default Microsoft Access error message.


This includes Microsoft Jet database engine errors, but not run-time errors in Visual Basic or errors from ADO.

To run a macro or event procedure when this event occurs, set the OnError property to the name of the macro or to [Event Procedure].

By running an event procedure or a macro when an Error event occurs, you can intercept a Microsoft Access error message and display a custom message that conveys a more specific meaning for your application.


The following example shows how you can replace a default error message with a custom error message. When Microsoft Access returns an error message indicating it has found a duplicate key (error code 3022), this event procedure displays a message that gives more application-specific information to users.

To try the example, add the following event procedure to a form that is based on a table with a unique employee ID number as the key for each record.

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

Applies to | Form Object | Report Object

See Also | Activate Event | OnActivate Property | OnDeactivate Property

Applies to | Form Object | Report Object

See Also | Elements of Run-Time Error Handling