Lire en anglais

Partager via


Événement Form.Open (Access)

L’événement Open se produit lorsqu’un formulaire est ouvert, mais avant l’affichage du premier enregistrement.

Syntaxe

expression. Ouvrir (Annuler)

expressionVariable qui représente un objetForm.

Parameters

Nom Requis/Facultatif Type de données Description
Cancel Obligatoire Entier La valeur de cet argument détermine si l'ouverture du formulaire ou de l'état a lieu. Définir l’argument Annuler sur True (1) annule l’ouverture du formulaire ou de l’état.

Remarques

En exécutant une macro ou une procédure événementielle lorsque l’événement Open d’un formulaire se produit, vous pouvez fermer une autre fenêtre ou déplacer le focus vers un contrôle particulier du formulaire. Vous pouvez également exécuter une macro ou une procédure événementielle qui demande les informations nécessaires avant l’ouverture ou l’impression du formulaire ou de l’état.

Par exemple, une macro ou une procédure événementielle Open peut ouvrir une boîte de dialogue personnalisée dans laquelle l’utilisateur entre les critères pour filtrer le jeu d’enregistrements à afficher dans un formulaire ou la plage de dates à prendre en compte pour un état.

L’événement Open ne se produit pas lorsque vous activez un formulaire déjà ouvert ; par exemple, lorsque vous basculez vers le formulaire à partir d’une autre fenêtre dans Microsoft Access ou que vous utilisez l’action OuvrirForm dans une macro pour afficher le formulaire ouvert en haut. Toutefois, l’événement Activate se produit dans ces situations.

Lorsque vous ouvrez un formulaire en fonction d'une requête sous-jacente, Microsoft Access exécute cette dernière pour le formulaire avant d'exécuter la macro ou la procédure événementielle Open.

Si votre application peut avoir plusieurs formulaires chargés à la fois, utilisez les événements Activate et Deactivate au lieu de l’événement Open pour afficher et masquer les barres d’outils personnalisées lorsque le focus se déplace vers un autre formulaire.

L’événement Open se produit avant l’événement Load , qui est déclenché lorsqu’un formulaire est ouvert et que ses enregistrements sont affichés.

Lorsque vous ouvrez un formulaire pour la première fois, les événements suivants se produisent dans cet ordre :

OpenchargeredimensionnerActiveractuel

L’événement Close se produit après l’événement Unload , qui est déclenché après la fermeture du formulaire, mais avant sa suppression de l’écran.

Lorsque vous fermez un formulaire, les événements suivants se produisent dans cet ordre :

UnloaddésactiverFermer

Lorsque l’événement Close se produit, vous pouvez ouvrir une autre fenêtre ou demander au nom de l’utilisateur de créer une entrée de journal indiquant qui a utilisé le formulaire ou l’état.

Si vous essayez de décider d’utiliser l’événement Open ou Load pour votre macro ou procédure événementielle, une différence significative est que l’événement Open peut être annulé, mais pas l’événement Load . Par exemple, si vous créez dynamiquement une source d’enregistrement pour un formulaire dans une procédure événementielle pour l’événement Open du formulaire, vous pouvez annuler l’ouverture du formulaire s’il n’y a pas d’enregistrements à afficher. De la même façon, il est possible d’annuler l’événement Unload mais pas l’événement Close.

Exemple

L’exemple suivant montre comment annuler l’ouverture d’un formulaire lorsque l’utilisateur choisit un bouton Non . Un message invite l'utilisateur à entrer les détails de la commande. Si l’utilisateur choisit Non, le formulaire Détails de la commande n’est pas ouvert.

Pour essayer cet exemple, ajoutez au formulaire la procédure événementielle ci-dessous.

Private Sub Form_Open(Cancel As Integer) 
 Dim intReturn As Integer 
 intReturn = MsgBox("Enter order details now?", vbYesNo) 
 Select Case intReturn 
 Case vbYes 
 ' Open Order Details form. 
 DoCmd.OpenForm "Order Details" 
 Case vbNo 
 MsgBox "Remember to enter order details by 5 P.M." 
 Cancel = True ' Cancel Open event. 
 End Select 
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.