Événement Form.Error (Access)
L’événement Error se produit lorsqu’une erreur d’exécution est générée dans Microsoft Access lorsqu’un formulaire a le focus.
expression. Erreur (DataErr, Réponse)
expressionVariable qui représente un objetForm.
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
DataErr | Obligatoire | Integer | Code d’erreur retourné par l’objet Err lorsqu’une erreur se produit. Utilisez l’argument DataErr avec la fonction Error pour mapper le nombre au message d’erreur correspondant. |
Réponse | Obligatoire | Integer | Le paramètre détermine si un message d’erreur s’affiche. L’argument Response peut être l’une des constantes intrinsèques suivantes.
|
Cela inclut les erreurs du moteur de base de données Access, mais pas les erreurs d’exécution en Visual Basic ou les erreurs d’ADO.
Pour exécuter une macro ou une procédure événementielle lorsque cet événement se produit, définissez la propriété OnError sur le nom de la macro ou sur [Procédure événementielle].
En exécutant une procédure événementielle ou une macro lorsqu’un événement Error se produit, vous pouvez intercepter un message d’erreur Access et afficher un message personnalisé qui transmet une signification plus spécifique à votre application.
L’exemple suivant indique comment vous pouvez remplacer un message d’erreur par défaut par un message d’erreur personnalisé. Quand Access retourne un message d’erreur indiquant qu’il a trouvé une clé en double (code d’erreur 3022), cette procédure événementielle affiche un message qui fournit des informations plus spécifiques à l’application aux utilisateurs.
Pour essayer cet exemple, ajoutez la procédure événementielle suivante à un formulaire qui est fondé sur une table dotée d'un numéro d'identification d'employé unique comme clé de chaque enregistrement.
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
L’exemple suivant indique comment vous pouvez remplacer un message d’erreur par défaut par un message d’erreur personnalisé.
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
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.