Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !

Les événements Access

Définition

Un événement permet d’exécuter une ou plusieurs instructions à la suite d’une action de la part d’un utilisateur. L’action déclenche l’exécution du code de la procédure événementielle correspondante qui est rattachée à l’objet actif.

images/1908RI1.png

Pour associer un code VBA à une action sur un objet, on peut passer par l’onglet Événement dans le volet de navigation Feuille de propriétés :

images/1908RI2.png

Il est également possible de passer dans l’éditeur VBE par les zones de listes déroulantes (zone de gauche pour choisir l’objet, zone de droite pour choisir l’événement).

images/0803N.png

L’objectif de ce chapitre est de passer en revue les différents types d’événements, de montrer comment en annuler certains, et d’évoquer l’ordre de déclenchement des événements lors d’actions simples.

Types d’événements

Les descriptions s’appliquent également aux états.

1. Les événements à l’ouverture

Événement (Propriété)

Se produit

Annulable

Open (sur ouverture)

À l’ouverture du formulaire, mais avant que le premier enregistrement ne soit affiché.

Oui

Load (sur chargement)

À l’ouverture du formulaire, une fois le premier enregistrement affiché.

Non

Resize (surredimensionnement)

Lorsque le formulaire change de dimension ainsi que lors de son premier affichage.

Non

Activate (sur activé)

Lorsque le formulaire devient actif.

Non

Current (sur activation)

À l’ouverture du formulaire, avant que le premier enregistrement ne devienne l’enregistrement en cours.

Non

2. Les événements à la fermeture

Événement (Propriété)

Se produit

Annulable

Unload (sur libération)

À la fermeture du formulaire, une fois les enregistrements libérés, mais avant la disparition du formulaire.

Oui

Deactivate (sur désactivé)

À la fermeture du formulaire, mais également à l’activation d’une autre fenêtre, avant que l’autre fenêtre ne devienne active.

Non

Close (sur fermeture)

Lorsque le formulaire disparaît à la fermeture.

Non

3. Les événements d’ajout, suppression ou modification d’enregistrement

Événement (Propriété)

Se produit

Annulable

BeforeInsert (avant insertion)

Lors de la frappe du premier caractère d’un nouvel enregistrement, mais avant l’ajout du nouvel enregistrement.

Oui

AfterInsert (après insertion)

Après l’ajout d’un nouvel enregistrement dans la table.

Non

BeforeUpdate (avant MAJ)

Avant la mise à jour d’un enregistrement ou d’un contrôle (modification...

Annulation d’un événement

Il est possible et parfois très pratique de pouvoir annuler un événement. Les différents événements précédemment listés peuvent ou non être annulés. Pour annuler un événement, il est possible de passer l’argument AnnulerEvénement à la macro, ou de passer à True la variable Cancel dans le code VBA.

Ordre de réalisation des événements

Dans certaines situations, plusieurs événements ont lieu les uns après les autres. Ce chapitre indique leur déroulement. Les événements sont représentés par ordre chronologique de haut en bas.

1. À l’ouverture d’un formulaire

images/1908RI4.png

2. À la fermeture d’un formulaire

images/1908RI5.png

3. À l’activation d’un formulaire déjà ouvert

images/1908RI6.png

4. À la mise à jour d’un contrôle

A lieu lorsque l’utilisateur finit sa saisie et passe au contrôle suivant.

images/1908RI7.png

5. À la mise à jour d’un enregistrement

A lieu lorsque l’utilisateur finit une saisie dans un enregistrement et passe à un autre enregistrement.

images/1908RI8.png

6. À la suppression d’un enregistrement

images/1908RI9.png

7. Sur l’appui de touche

images/1908RI10.png

Ordre des événements lors d’une mise à jour

Dans Microsoft Access, les événements liés aux mises à jour se déclenchent à deux niveaux différents.

1. Au niveau du contrôle

Lors de la mise à jour d’un contrôle, les événements BeforeUpdate et AfterUpdate du contrôle sont exécutés. Ils précèdent les événements du formulaire.

2. Au niveau d’un enregistrement

Lors de la mise à jour d’un enregistrement, ce sont les événements BeforeUpdate et AfterUpdate du formulaire qui sont exécutés.