Événement ObjectFrame.Exit (Access)

L’événement Exit se produit juste avant qu’un contrôle ne perde le focus au profit d’un autre contrôle dans le même formulaire ou état.

Syntaxe

expression. Quitter (Annuler)

Expression Variable qui représente un objet ObjectFrame .

Parameters

Nom Requis/Facultatif Type de données Description
Cancel Obligatoire Entier Affectez la valeur True pour annuler l'événement.

Remarques

Cet événement ne s'applique pas aux cases à cocher, aux boutons d'options ou aux boutons bascule d'un groupe d'options. Il s'applique uniquement au groupe d'options lui-même.

Pour exécuter une macro ou une procédure événementielle lorsque cet événement se produit, définissez la propriété OnExit sur le nom de la macro ou [procédure événementielle].

Étant donné que l'événement Enter se produit avant que le focus se déplace vers un contrôle particulier, vous pouvez utiliser une entrée macro ou une procédure événementielle pour afficher les instructions ; par exemple, vous pouvez utiliser une macro ou une procédure événementielle pour afficher une zone de formulaire ou d'un message petite qui identifie le type de données contenues dans le contrôle en règle générale, ou en donnant des instructions sur la façon d'utiliser le contrôle.

L'événement Exit se produit avant l'événement LostFocus.

Contrairement à l'événement LostFocus, l'événement Exit ne se produit pas lorsqu'un formulaire perd le focus. Par exemple, supposons que vous activiez une case à cocher dans un formulaire, puis que vous cliquiez sur un état. Les événements Enter et GotFocus se produisent lorsque vous activez la case à cocher. Seul l'événement LostFocus se produit lorsque vous cliquez sur l'état. L'événement Exit ne se produit pas (parce que le focus se déplace vers une autre fenêtre). Si vous activez la case à cocher de nouveau dans le formulaire pour l'amener au premier plan, l'événement GotFocus se produit, mais pas l'événement Enter (parce que le contrôle avait le focus la dernière fois que le formulaire était actif). L'événement Exit se produit uniquement lorsque vous cliquez sur un autre contrôle du formulaire.

Si vous déplacez le focus vers un contrôle sur un formulaire et que contrôle n'est pas activé sur ce formulaire, Exit et LostFocus du contrôle qui a le focus sur le formulaire se produisent avant les événements Enter et GotFocus du contrôle vous ont été déplacés vers.

Si vous utilisez la souris pour déplacer le focus depuis un contrôle dans un formulaire principal vers un contrôle dans un sous-formulaire dudit formulaire (un contrôle qui n'a pas encore le focus dans le sous-formulaire), les événements suivants se produisent :

  • Exit (pour le contrôle du formulaire principal)
  • LostFocus (pour le contrôle du formulaire principal)
  • Enter (pour le contrôle du sous-formulaire)
  • Exit (pour le contrôle du sous-formulaire précédemment activé)
  • LostFocus (pour le contrôle du sous-formulaire précédemment activé)
  • Enter (pour le contrôle du sous-formulaire sur lequel le focus a été déplacé)
  • GotFocus (pour le contrôle du sous-formulaire sur lequel le focus a été déplacé)

Si le contrôle vers lequel vous vous déplacez sur le sous-formulaire avait précédemment le focus, ni son événement Enter ni son événement GotFocus se produit, mais l’événement Enter pour le contrôle de sous-formulaire se produit. Si vous déplacez le focus d'un contrôle sur un sous-formulaire à un contrôle du formulaire principal, la sortie et événements LostFocus du contrôle du sous-formulaire ne se produisent, simplement l'événement Exit pour le contrôle de sous-formulaire et les événements Enter et GotFocus pour le contrôle du formulaire principal.

Remarque

Vous utilisez souvent la souris ou une touche telle que Tab pour déplacer le focus sur un autre contrôle. Outre les événements traités dans cette rubrique, cela déclenche les événements souris ou clavier.

Exemple

Dans l’exemple suivant, deux procédures événementielles sont jointes à la zone de texte LastName . La procédure événementielle Enter affiche un message spécifiant le type de données de l'utilisateur peut entrer dans la zone de texte. La procédure événementielle Exit affiche une boîte de dialogue demandant à l'utilisateur si les modifications doivent être enregistrées avant l'activation d'un autre contrôle. Si l’utilisateur clique sur le bouton Annuler , l’argument Annuler est défini sur True (1), ce qui déplace le focus sur la zone de texte sans enregistrer les modifications. Si l’utilisateur choisit le bouton OK , les modifications sont enregistrées et le focus passe à un autre contrôle.

Pour essayer l’exemple, ajoutez la procédure événementielle suivante à un formulaire qui contient une zone de texte nommée LastName.

Private Sub LastName_Enter() 
 MsgBox "Enter your last name." 
End Sub 
 
Private Sub LastName_Exit(Cancel As Integer) 
 Dim strMsg As String 
 
 strMsg = "You entered '" & Me!LastName _ 
 & "' as your last name." & _ 
 vbCrLf & "Is this correct?" 
 If MsgBox(strMsg, vbYesNo) = vbNo Then 
 Cancel = True ' Cancel exit. 
 Else 
 Exit Sub ' Save changes and exit. 
 End If 
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.