Partager via


Événement ObjectFrame.Enter (Access)

L'événement Enter se produit avant un contrôle ne reçoive le focus d'un contrôle sur le même formulaire ou état.

Syntaxe

expression. Entrer

Expression Variable qui représente un objet ObjectFrame .

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 ces événements se produisent, définissez la propriété OnEnter ou 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 Enter se produit avant l'événement GotFocus. L'événement Exit se produit avant l'événement LostFocus.

Contrairement aux événements GotFocus et LostFocus, les événements Enter et Exit ne se produisent lorsqu'un formulaire reçoit ou perd le focus. Par exemple, supposons que vous sélectionnez une case à cocher dans un formulaire, puis cliquez sur un rapport. 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 dans le formulaire.

Si vous déplacez le focus sur un contrôle d’un formulaire et que ce contrôle n’a pas le focus sur ce formulaire, les événements Exit et LostFocus pour le contrôle qui a le focus sur le formulaire se produisent avant les événements Enter et GotFocus pour le contrôle vers lequel vous êtes déplacé.

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 d’un sous-formulaire vers un contrôle sur le formulaire principal, les événements Exit et LostFocus du contrôle sur le sous-formulaire ne se produisent pas, seuls l’événement Exit pour le contrôle de sous-formulaire et les événements Enter et GotFocus pour le contrôle sur le 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.