Partage via


É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.

Syntaxe

expression. Erreur (DataErr, Réponse)

expressionVariable qui représente un objetForm.

Parameters

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.
  • 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) Affiche 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 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.

Exemple

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

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.