Partager via


CancelEvent, action de macro

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

Print

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.