Evento Form.Error (Access)
El evento Error se produce cuando se genera un error en tiempo de ejecución en Microsoft Access cuando un formulario tiene el foco.
Sintaxis
expresión. Error (DataErr, Response)
expresión Variable que representa un objeto Form.
Parameters
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
DataErr | Obligatorio | Integer | Código de error devuelto por el objeto Err cuando se produce un error. Use el argumento DataErr con la función Error para asignar el número al mensaje de error correspondiente. |
Respuesta | Obligatorio | Integer | La configuración determina si se muestra un mensaje de error. El argumento Response puede ser una de las siguientes constantes intrínsecas.
|
Comentarios
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.
Para ejecutar una macro o un procedimiento de evento cuando se produzca este evento, establezca la propiedad OnError en el nombre de la macro o en [Procedimiento de evento].
Al ejecutar un procedimiento de evento o una macro cuando se produce un evento Error , puede interceptar un mensaje de error de Access y mostrar un mensaje personalizado que transmita un significado más específico para la aplicación.
Ejemplo:
En el ejemplo siguiente se muestra cómo se puede reemplazar un mensaje de error predeterminado por un mensaje de error personalizado. 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 proporciona más información específica de la aplicación a los usuarios.
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.
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.
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 comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? 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.