Ordre des événements pour les objets de bases de données

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Une action, telle que le basculement d’un contrôle sur un objet vers un autre contrôle, peut déclencher différents événements qui se produisent dans une séquence particulière. Il est important de connaître les événements qui surviennent et dans quel ordre, car ceux-ci peuvent affecter les modalités d’exécution de vos macros ou procédures événementielles. Par exemple, si deux procédures événementielles doivent être exécutées dans un certain ordre, vous pouvez vérifier que les événements auxquels elles sont associées se produisent dans ce même ordre.

Contenu de cet article

Ordre des événements pour les contrôles sur les formulaires

Ordre des événements pour les enregistrements sur les formulaires

Ordre des événements pour les formulaires et sous-formulaires

Ordre des événements pour les séquences de touches et les clics de souris

Ordre des événements pour les états et sections d’état

Ordre des événements pour les contrôles sur les formulaires

Les événements se produisent pour les contrôles sur les formulaires lorsque vous déplacez le focus vers un contrôle, et lorsque vous modifiez et mettez à jour des données dans un contrôle.

Remarque : Microsoft Office Access affiche les noms d’événement légèrement différemment dans Visual Basic Editor et dans la feuille de propriétés et le Générateur de macro. Par exemple, l’événement Sur réception focus dans la feuille de propriétés du formulaire et le Générateur de macro est nommé GotFocus dans Visual Basic Editor. Dans cet article, les exemples utilisent le format VBA (Visual Basic pour Applications) pour les noms d’événement.

Déplacer le focus vers un contrôle

Lorsque vous déplacez le focus vers un contrôle sur un formulaire (par exemple, en ouvrant un formulaire contenant un ou plusieurs contrôles actifs ou en déplaçant le focus vers un autre contrôle sur le même formulaire), les événements Enter et GotFocus se produisent dans l’ordre suivant :

Enter flèche GotFocus

Lorsque vous ouvrez un formulaire, les événements Enter et GotFocus se produisent après les événements liés à l’ouverture du formulaire (par exemple, Open, Activate et Current), comme suit :

Open (formulaire) flèche Activate (formulaire) flèche Current (formulaire) flèche Enter (contrôle) flèche GotFocus (contrôle)

Lorsque le focus est déplacé hors d’un contrôle sur un formulaire (par exemple, lorsque vous fermez un formulaire contenant un ou plusieurs contrôles actifs ou lorsque le focus est déplacé vers un autre contrôle sur le même formulaire), les événements Exit et LostFocus se produisent dans l’ordre suivant :

Exit flèche LostFocus

Lorsque vous fermez un formulaire, les événements Exit et LostFocus se produisent avant les événements liés à la fermeture du formulaire (par exemple, Unload, Deactivate et Close), comme suit :

Exit (contrôle) flèche LostFocus (contrôle) flèche Unload (formulaire) flèche Deactivate (formulaire) flèche Close (formulaire)

Modification et mise à jour des données dans un contrôle

Lorsque vous entrez ou modifiez les données dans un contrôle sur un formulaire, puis déplacez le focus vers un autre contrôle, les événements BeforeUpdate et AfterUpdate se produisent :

BeforeUpdate flèche AfterUpdate

Les événements Exit et LostFocus pour un contrôle dont la valeur change se produisent après les événements BeforeUpdate et AfterUpdate :

BeforeUpdate flèche AfterUpdate flèche Exit flèche LostFocus

Lorsque vous modifiez le texte dans une zone de texte ou dans la section de zone de texte d’une zone de liste modifiable, l’événement Change se produit. Cet événement se produit lorsque le contenu du contrôle change, mais avant que vous ne déplaciez le focus vers un autre contrôle ou enregistrement (et par conséquent, avant que les événements BeforeUpdate et AfterUpdate ne se produisent). La séquence d’événements suivante se produit pour chaque touche sur laquelle vous appuyez dans une zone de texte ou dans la section de zone de texte d’une zone de liste modifiable :

KeyDown flèche KeyPress flèche Dirty flèche Change flèche KeyUp

L’événement NotInList se produit lorsque vous entrez une valeur dans une zone de liste modifiable qui ne figure pas dans la zone de liste modifiable, puis essayez de déplacer le focus vers un autre contrôle ou enregistrement. L’événement NotInList se produit après les événements de clavier et les événements Change pour la zone de liste modifiable, mais avant les événements pour n’importe quel autre contrôle ou le formulaire. Si la propriété LimitToList de la zone de liste modifiable est définie sur Yes, l’événement Error pour le formulaire se produit immédiatement après l’événement NotInList :

KeyDown flèche KeyPress flèche Dirty flèche Change flèche KeyUp flèche NotInList flèche Error

Haut de la page

Ordre des événements pour les enregistrements sur les formulaires

Des événements se produisent pour les enregistrements sur les formulaires lorsque vous déplacez le focus vers un autre enregistrement, mettez à jour des données dans un enregistrement, supprimez un ou plusieurs enregistrements existants, ou créez un enregistrement.

Déplacement du focus vers des enregistrements et mise à jour de données dans des enregistrements

Lorsque vous déplacez le focus vers un enregistrement existant sur un formulaire, entrez ou modifiez des données dans l’enregistrement, puis déplacez le focus vers un autre enregistrement, la séquence d’événements suivante se produit pour le formulaire :

Current (formulaire) flèche BeforeUpdate (formulaire) flèche AfterUpdate (formulaire) flèche Current (formulaire)

Lorsque vous quittez l’enregistrement dont les données ont changé, mais avant d’accéder à l’enregistrement suivant, les événements Exit et LostFocus se produisent pour le contrôle ayant le focus. Ces événements se produisent après les événements BeforeUpdate et AfterUpdate pour le formulaire, comme suit :

BeforeUpdate (formulaire) flèche AfterUpdate (formulaire) flèche Exit (contrôle) flèche LostFocus (contrôle) flèche RecordExit (formulaire) flèche Current (formulaire)

Lorsque vous déplacez le focus entre les contrôles sur un formulaire, des événements se produisent pour chaque contrôle. Par exemple, les séquences suivantes d’événements se produisent lorsque vous effectuez les opérations suivantes :

  • Ouvrez un formulaire et modifiez des données dans un contrôle :

    Current (formulaire) flèche Enter (contrôle) flèche GotFocus (contrôle) flèche BeforeUpdate (contrôle) flèche AfterUpdate (contrôle)

  • Déplacez le focus vers un autre contrôle :

    Exit (contrôle1) flèche LostFocus (contrôle1) flèche Enter (contrôle2) flèche GotFocus (contrôle2)

  • Déplacez le focus vers un autre enregistrement :

    BeforeUpdate (formulaire) flèche AfterUpdate (formulaire) flèche Exit (contrôle2) flèche LostFocus (contrôle2) flèche RecordExit (formulaire) flèche Current (formulaire)

Suppression d’enregistrements

Lorsque vous supprimez un enregistrement, les événements suivants se produisent pour le formulaire, et Microsoft Office Access affiche une boîte de dialogue vous demandant de confirmer la suppression :

Delete flèche BeforeDelConfirm flèche AfterDelConfirm

Si vous annulez l’événement Delete, les événements BeforeDelConfirm et AfterDelConfirm ne se produisent pas, et la boîte de dialogue n’apparaît pas.

Création d’un enregistrement

Lorsque vous déplacez le focus vers un nouvel enregistrement (vide) dans un formulaire, puis créez un enregistrement en entrant des données dans un contrôle, la séquence d’événements suivante se produit :

Current (formulaire) flèche Enter (contrôle) flèche GotFocus (contrôle) flèche BeforeInsert (formulaire) flèche AfterInsert (formulaire)

Les événements BeforeUpdate et AfterUpdate pour les contrôles sur le formulaire et pour le nouvel enregistrement se produisent après l’événement BeforeInsert et avant l’événement AfterInsert.

Haut de la page

Ordre des événements pour les formulaires et sous-formulaires

Les événements se produisent pour les formulaires lorsque vous ouvrez ou fermez un formulaire, changez de formulaires ou utilisez des données sur un formulaire ou un sous-formulaire.

Ouverture ou fermeture d’un formulaire

Lorsque vous ouvrez un formulaire, la séquence suivante d’événements se produit pour le formulaire :

Open flèche Load flèche Resize flèche Activate flèche Current

S’il n’y a aucun contrôle actif sur le formulaire, l’événement GotFocus se produit pour le formulaire après l’événement Activate, mais avant l’événement Current.

Lorsque vous fermez un formulaire, la séquence suivante d’événements se produit pour le formulaire :

Unload flèche Deactivate flèche Close

S’il n’y a aucun contrôle actif sur le formulaire, l’événement LostFocus se produit pour le formulaire après l’événement Unload, mais avant l’événement Deactivate.

Changement de formulaire

Lorsque vous basculez entre deux formulaires ouverts, l’événement Deactivate se produit pour le premier formulaire et l’événement Activate se produit pour le deuxième formulaire :

Deactivate (formulaire1) flèche Activate (formulaire2)

L’événement Deactivate pour un formulaire se produit également lorsque vous basculez du formulaire vers un autre onglet objet dans Access. Toutefois, l’événement Deactivate ne se produit pas lorsque vous basculez vers une boîte de dialogue, vers un formulaire dont la propriété PopUp est définie sur Yes ou vers une fenêtre dans un autre programme.

Remarque :  L’événement Open ne se produit pas si vous déplacez le focus vers un formulaire qui est déjà ouvert, même si vous avez déplacé le focus vers ce formulaire en effectuant une action OpenForm.

Utilisation des données sur un formulaire

Des événements de formulaire et de contrôle se produisent lorsque vous parcourez les enregistrements dans le formulaire et modifiez des données. Par exemple, lorsque vous ouvrez un formulaire pour la première fois, la séquence suivante d’événements se produit :

Open (formulaire) flèche Load (formulaire) flèche Resize (formulaire) flèche Activate (formulaire) flèche Current (formulaire) flèche Enter (contrôle) flèche GotFocus (contrôle)

De même, lorsque vous fermez un formulaire, la séquence suivante d’événements se produit :

Exit (contrôle) flèche LostFocus (contrôle) flèche Unload (formulaire) flèche Deactivate (formulaire) flèche Close (formulaire)

Si vous avez modifié des données dans un contrôle, les événements BeforeUpdate et AfterUpdate pour le contrôle et le formulaire se produisent avant l’événement Exit pour le contrôle.

Utilisation des sous-formulaires

Lorsque vous ouvrez un formulaire contenant un sous-formulaire, le sous-formulaire et ses enregistrements sont chargés avant le formulaire principal. Par conséquent, les événements pour le sous-formulaire et ses contrôles (tels que Open, Current, Enter et GotFocus) se produisent avant les événements pour le formulaire. Toutefois, l’événement Activate ne se produit pas pour les sous-formulaires. Par conséquent, l’ouverture d’un formulaire principal déclenche un événement Activate pour le formulaire principal uniquement.

De même, lorsque vous fermez un formulaire contenant un sous-formulaire, le sous-formulaire et ses enregistrements sont déchargés après le formulaire. L’événement Deactivate ne se produit pas pour les sous-formulaires. Par conséquent, le fermeture d’un formulaire principal déclenche un événement Deactivate pour le formulaire principal uniquement. Les événements pour les contrôles, le formulaire et le sous-formulaire se produisent dans l’ordre suivant :

  1. Événements pour les contrôles du sous-formulaire (tels que Exit et LostFocus)

  2. Événements pour les contrôles du formulaire (notamment le contrôle de sous-formulaire)

  3. Événements pour le formulaire (par exemple, Deactivate et Close)

  4. Événements pour le sous-formulaire

Remarque :  Étant donné que les événements pour un sous-formulaire se produisent après la fermeture du formulaire principal, certains événements, tels que l’annulation de la fermeture du formulaire principal à partir d’un événement dans le sous-formulaire ne se produiront pas. Vous devrez peut-être déplacer ces types de tests de validation vers un événement sur le formulaire principal.

Haut de la page

Ordre des événements pour les séquences de touches et les clics de souris

Les événements de clavier se produisent pour les formulaires et contrôles lorsque vous appuyez sur des touches ou envoyez des séquences de touches alors que le focus est placé sur le formulaire ou le contrôle. Les événements de souris se produisent pour les formulaires, les sections de formulaire et les contrôles sur les formulaires lorsque vous cliquez sur les boutons de la souris, alors que le pointeur de la souris se trouve sur un formulaire, une section ou un contrôle. Les événements de souris peuvent également se produire lorsque vous déplacez le pointeur de la souris sur un formulaire, une section ou un contrôle.

Événements de clavier

Lorsque vous appuyez sur une touche avant de la relâcher alors que le focus est placé sur un contrôle sur un formulaire (ou vous utilisez l’action SendKeys ou instruction pour envoyer une séquence de touches), la séquence d’événements suivante se produit :

KeyDown flèche KeyPress flèche KeyUp

Lorsque vous appuyez sur une touche avant de la relâcher ou que vous envoyez une séquence de touches dans le jeu de caractères ANSI, les événements KeyDown, KeyPress et KeyUp se produisent tous. Si vous maintenez une touche ANSI enfoncée, les événements KeyDown et KeyPress se succèdent de manière répétée (KeyDown, KeyPress, KeyDown, KeyPress, etc.) jusqu’à ce que vous relâchiez la touche. L’événement KeyUp se produit ensuite.

Si vous appuyez sur une touche non ANSI avant de la relâcher, les événements KeyDown et KeyUp se produisent. Si vous maintenez une touche non ANSI enfoncée, l’événement KeyDown se produit à plusieurs reprises jusqu’à ce que vous relâchiez la touche, puis l’événement KeyUp se produit.

Si l’utilisation d’une touche déclenche un autre événement pour un contrôle, cet événement se produit après l’événement KeyPress, mais avant l’événement KeyUp. Par exemple, si une frappe modifie le texte dans une zone de texte et déclenche un événement Change, la séquence d’événements suivante se produit :

KeyDown flèche KeyPress flèche Change flèche KeyUp

Si une frappe déplace le focus d’un contrôle vers un autre contrôle, l’événement KeyDown se produit pour le premier contrôle, tandis que les événements KeyPress et KeyUp se produisent pour le deuxième contrôle. Par exemple, si vous modifiez des données dans un contrôle, puis appuyez sur Tab pour atteindre le contrôle suivant, les séquences d’événements suivantes se produisent :

  • Premier contrôle :

    KeyDown flèche BeforeUpdate flèche AfterUpdate flèche Exit flèche LostFocus

  • Deuxième contrôle :

    Enter flèche GotFocus flèche KeyPress flèche KeyUp

Événements de souris

Lorsque vous cliquez sur un bouton de la souris avant de le relâcher avec le pointeur de souris placé sur un contrôle sur un formulaire, la séquence d’événements suivante se produit pour le contrôle :

MouseDown flèche MouseUp flèche Click

Si le focus est placé sur un contrôle et que vous cliquez sur un autre contrôle pour déplacer le focus vers ce deuxième contrôle, les séquences d’événements suivantes se produisent :

  • Premier contrôle :

    Exit flèche LostFocus

  • Deuxième contrôle :

    Enter flèche GotFocus flèche MouseDown flèche MouseUp flèche Click

Si vous accédez à un autre enregistrement, puis cliquez sur un contrôle, l’événement Current pour le formulaire se produit également avant l’événement Enter pour le contrôle.

Le fait de double-cliquer sur un contrôle déclenche les événements Click et DblClick. Par exemple, lorsque vous double-cliquez sur un contrôle autre qu’un bouton de commande, la séquence d’événements suivante se produit pour le contrôle :

MouseD own flèche MouseUp flèche Click flèche DblClick flèche MouseUp

Lorsque vous double-cliquez sur un bouton de commande, la séquence d’événements précédente se produit, suivie d’un deuxième événement Click.

L’événement MouseMove pour un formulaire, une section ou un contrôle se produit lorsque vous déplacez le pointeur de la souris sur le formulaire, la section ou le contrôle. Cet événement est indépendant des autres événements de souris.

Haut de la page

Ordre des événements pour les états et sections d’état

Des événements se produisent pour les états et sections d’état lorsque vous ouvrez un état pour l’imprimer ou en afficher un aperçu, ou que vous fermez un état.

Événements pour les états

Lorsque vous ouvrez un état pour l’imprimer ou en afficher un aperçu, avant de le fermer ou d’accéder à un autre onglet objet dans Access, la séquence d’événements suivante se produit pour l’état :

Open flèche Activate flèche Close flèche Deactivate

Lorsque vous basculez entre deux états ouverts, l’événement Deactivate se produit pour le premier état et l’événement Activate se produit pour le deuxième état :

Deactivate (état1) flèche Activate (état2)

L’événement Deactivate pour un état se produit également lorsque vous basculez de l’état vers un autre onglet objet dans Access. Toutefois, l’événement Deactivate ne se produit pas lorsque vous basculez vers une boîte de dialogue, vers un formulaire dont la propriété PopUp est définie sur Yes ou vers une fenêtre dans un autre programme.

Lorsque vous ouvrez un état basé sur une requête, Access déclenche l’événement Open pour l’état avant d’exécuter la requête sous-jacente. Par conséquent, vous pouvez définir les critères pour l’état à l’aide d’une macro ou d’une procédure événementielle qui répond à l’événement Open. Par exemple, la macro ou procédure événementielle peut ouvrir une boîte de dialogue personnalisée dans laquelle vous entrez des critères d’état.

Événements pour les sections d’état

Lorsque vous imprimez un état ou en affichez un aperçu, les événements Format et Print se produisent pour les sections d’état après les événements Open et Activate pour l’état et avant les événements Close ou Deactivate de l’état :

Open (état) flèche Activate (état) flèche Format (section d’état) flèche Print (section d’état) flèche Close (état) flèche Deactivate (état)

En outre, les événements suivants peuvent se produire pendant ou après la mise en forme, mais avant l’événement Print :

  • L’événement Retreat se produit lorsque Access revient à une section précédente dans le cadre de la mise en forme de l’état.

  • L’événement NoData se produit si aucun enregistrement n’est affiché par l’état.

  • L’événement Page se produit après la mise en forme, mais avant l’impression. Vous pouvez utiliser cet événement pour personnaliser l’apparence de l’état imprimé.

Haut de la page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×