Evento Form. error (Access)Form.Error event (Access)

El evento error se produce cuando se produce un error en tiempo de ejecución en Microsoft Access cuando un formulario tiene el enfoque.The Error event occurs when a run-time error is produced in Microsoft Access when a form has the focus.

SintaxisSyntax

expresión. Error (DataErr, respuesta)expression.Error (DataErr, Response)

expresión Variable que representa un objeto Form.expression A variable that represents a Form object.

ParámetrosParameters

NombreName Obligatorio/opcionalRequired/Optional Tipo de datosData type DescripciónDescription
DataErrDataErr ObligatorioRequired IntegerInteger Código de error devuelto por el objeto Err cuando se produce un error.The error code returned by the Err object when an error occurs. Puede usar el argumento DataErr con la función error para asignar el número al mensaje de error correspondiente.You can use the DataErr argument with the Error function to map the number to the corresponding error message.
ResponseResponse NecesarioRequired IntegerInteger La configuración determina si se muestra un mensaje de error.The setting determines whether an error message is displayed. El __ argumento Response puede ser una de las siguientes constantes intrínsecas.The Response argument can be one of the following intrinsic constants.
  • acDataErrContinue Omitir el error y continuar sin mostrar el mensaje de error de Microsoft Access predeterminado.acDataErrContinue Ignore the error and continue without displaying the default Microsoft Access error message. Puede proporcionar un mensaje de error personalizado en lugar del mensaje de error predeterminado.You can supply a custom error message in place of the default error message.

  • acDataErrDisplay Predeterminada Muestra el mensaje de error de acceso predeterminado.acDataErrDisplay (Default) Display the default Access error message.

ComentariosRemarks

Esto incluye errores del motor de base de datos de Access, pero no errores en tiempo de ejecución en Visual Basic o errores de ADO.This includes Access database engine errors, but not run-time errors in Visual Basic or errors from ADO.

Para ejecutar una macro o procedimiento de evento cuando se produzca este evento, establezca la propiedad OnError en el nombre de la macro o en [procedimiento de evento].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].

Al ejecutar un procedimiento de evento o una macro cuando se produce un evento error , puede interceptar un mensaje de error de acceso y mostrar un mensaje personalizado que contenga un significado más específico para la aplicación.By running an event procedure or a macro when an Error event occurs, you can intercept an Access error message and display a custom message that conveys a more specific meaning for your application.

EjemploExample

En el ejemplo siguiente se muestra cómo se puede reemplazar un mensaje de error predeterminado por un mensaje de error personalizado.The following example shows how you can replace a default error message with a custom error message. Cuando Access devuelve un mensaje de error que indica que ha encontrado una clave duplicada (código de error 3022), este procedimiento de evento muestra un mensaje que da a los usuarios más información específica de la aplicación.When 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.

Para probar el ejemplo, agregue el siguiente procedimiento de evento a un formulario basado en una tabla con un Id. de empleado único como clave de cada registro.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

En el ejemplo siguiente se muestra cómo se puede reemplazar un mensaje de error predeterminado por un mensaje de error personalizado.The following example shows how you can replace a default error message with a custom error message.

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Select Case DataErr
        Case 2113
            MsgBox "Only numbers are acceptable in this box", vbCritical, "Call 1-800-123-4567"
            Response = acDataErrContinue
        Case 2237
            MsgBox "You can only choose from the dropdown box"
            Response = acDataErrContinue
        Case 3022
            MsgBox "You entered a value that exists already in another record"
            Response = acDataErrContinue
            SSN.Value = SSN.OldValue
        Case 3314
            MsgBox "The DOH is required, so you cannot leave this field empty"
            Response = acDataErrContinue
        Case Else
            Response = acDataErrDisplay
    End Select
    ActiveControl.Undo
End Sub

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.