Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013, Office 2013
Vous pouvez utiliser l’action Annulerévénement pour annuler l’événement qui a provoqué l’exécution de la macro contenant cette action par Access. Le nom de la macro est le paramètre d’une propriété de type événement comme AvantMAJ, SurOuverture, SurLibération ou SurImpression.
Setting
L’action AnnulerEvénement ne possède aucun argument.
Remarques
Dans un formulaire, l’action AnnulerEvénement est généralement utilisée dans une macro de validation avec la propriété de type événement AvantMAJ. Lorsqu’un utilisateur entre des données dans un contrôle ou un enregistrement, Access exécute la macro avant d’ajouter les données dans la base de données. Si ces données ne répondent pas aux conditions de validation de la macro, l’action AnnulerÉvénement annule le processus de mise à jour avant même qu’il ne débute.
Cette action est souvent utilisée avec l’action ZoneMessage pour indiquer que les données n’ont pas rempli les conditions de validation et pour fournir des informations utiles sur le genre de données qui doit être entré.
Les événements suivants peuvent être annulés par l’action AnnulerEvénement.
ApplyFilter |
Dirty |
MouseDown |
BeforeDelConfirm |
Exit |
NoData |
BeforeInsert |
Filtre |
Ouvert |
BeforeUpdate |
Format |
|
DblClick |
KeyPress |
Unload |
Supprimer |
Remarque
Vous pouvez utiliser l’action AnnulerEvénement avec l’événement SourisAppuyée uniquement pour annuler l’événement qui est déclenché lorsque vous cliquez avec le bouton droit sur un objet.
Si le paramètre de la propriété de type événement SurDoubleClic d'un contrôle spécifie une macro contenant l'action AnnulerEvénement, l'action annule l'événement DoubleClic.
Le comportement par défaut des événements pouvant être annulés (à savoir, le comportement d'Access lorsque l'événement est déclenché) a lieu une fois la macro événementielle exécutée. Ceci vous permet d’annuler le comportement par défaut. Par exemple, lorsque vous double-cliquez sur un mot sur lequel se trouve le point d’insertion dans une zone de texte, Access sélectionne normalement ce mot. Vous pouvez, cependant, annuler ce comportement par défaut dans la macro événementielle DoubleClic et exécuter une autre action comme l’ouverture d’un formulaire contenant des informations sur le contenu de la zone de texte. Le comportement par défaut des événements ne pouvant pas être annulés a lieu avant l’exécution de la macro.
Remarque
Si la propriété de type événement SurLibération d’un formulaire spécifie une macro qui exécute une action AnnulerEvénement, vous ne pourrez pas fermer le formulaire. Vous devez soit corriger la condition à l’origine de l’exécution de l’action AnnulerEvénement, soit ouvrir la macro et supprimer l’action AnnulerEvénement. Si le formulaire est un formulaire modal, vous ne pourrez pas ouvrir la macro.
Pour exécuter l’action AnnulerEvénement dans un module Visual Basic pour Applications (VBA), utilisez la méthode CancelEvent de l’objet DoCmd.
Exemple
Valider des données à l’aide d’une macro
La macro de validation suivante vérifie les codes postaux entrés dans un formulaire Fournisseurs. Elle illustre l’utilisation des actions ArrêtMacro, ZoneMessage, AnnulerEvénement et AtteindreContrôle. Une expression conditionnelle vérifie le pays/la région et le code postal entrés dans un enregistrement du formulaire. Si le code postal n’est pas dans le format correct pour le pays/la région, la macro affiche une zone de message et annule la sauvegarde de l’enregistrement. Elle vous renvoie ensuite au contrôle Code postal où vous pouvez corriger l’erreur. Cette macro doit être attachée à la propriété AvantMAJ du formulaire Fournisseurs.
Condition |
Action |
Arguments : Paramètre |
Commentaire |
|---|---|---|---|
IsNull([CountryRegion]) |
StopMacro |
Si PaysRégion est Null, le code postal ne peut pas être validé. |
|
[CountryRegion] In (« France »,"Italie »,"Espagne ») et Len([code postal]) <> 5 |
MessageBox |
Message : Le code postal doit contenir 5 caractères. Bip : Type Oui : Titre de l’information : Erreur de code postal |
Si le code postal ne contient pas 5 caractères, affiche un message. |
... |
CancelEvent |
Annule l’événement. |
|
GoToControl |
Nom du contrôle : CodePostal |
||
[CountryRegion] In (« Australia »,"Singapore ») and Len([Postal Code]) <> 4 |
MessageBox |
Message : Le code postal doit contenir 4 caractères. Bip : Type Oui : Titre de l’information : Erreur de code postal |
Si le code postal ne contient pas 4 caractères, affiche un message. |
... |
CancelEvent |
Annule l’événement. |
|
GoToControl |
Nom du contrôle : CodePostal |
||
([PaysRégion] = "Canada") Et ([Code postal] Différent de "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
MessageBox |
Message : Le code postal n’est pas valide. Exemple de code canadien : H1J 1C3 Bip : Oui Type : Information Titre : Erreur de code postal |
Si le code postal n’est pas correct pour le Canada, affiche un message. (Exemple de code postal canadien : H1J 1C3.) |
... |
CancelEvent |
Annule l’événement. |