Événement Form.Error (accès)

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.

Syntaxe

expression. Erreur (DataErr, Response)

expressionVariable qui représente un objetForm.

Paramètres

Nom Requis/Facultatif Type de données Description
DataErr Obligatoire Integer Code d’erreur renvoyé par l’objet Err lorsqu’une erreur se produit. Utilisez l’argument DataErr avec la fonction Erreur 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 Réponse peut être l’une des constantes intrinsèques suivantes.
  • acDataErrContinue Ignorez l’erreur et continuez sans afficher le message d’erreur Microsoft Access par défaut. Vous pouvez fournir votre propre message d’erreur à la place de ce message d’erreur par défaut.

  • acDataErrDisplay (par défaut) Afficher le message d’erreur Access par défaut.

Remarques

Cela inclut les erreurs du moteur de base de données Access, mais pas les erreurs d’exécution dans Visual Basic ou les erreurs d’ADO.

Pour exécuter une macro ou une procédure d’événement lorsque cet événement se produit, définissez la propriété OnError sur le nom de la macro ou sur [Procédure d’événement].

En exécutant une procédure d’événement ou une macro lorsqu’un événement d’erreur se produit, vous pouvez intercepter un message d’erreur Access et afficher un message personnalisé qui transmet une signification plus spécifique pour votre application.

Exemple

L’exemple suivant indique comment vous pouvez remplacer un message d’erreur par défaut par un message d’erreur personnalisé. Lorsque Access renvoie 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 aux utilisateurs des informations plus spécifiques à l’application.

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

Assistance et commentaires

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.