Dans ce tutoriel, nous allons apprendre à ouvrir ou fermer des formulaires Access à l'aide de VBA.
Ouvrir un formulaire d'accès
Pour ouvrir un formulaire dans Access, utilisez la méthode DoCmd.OpenForm :
DoCmd.OpenForm "AccessForm"
Cela ouvrira le formulaire nommé "AccessForm":

AccessForm affiché dans le volet de navigation
Formulaire ouvert avec critères
Ce code ouvrira un formulaire dans Access avec des critères précis :
DoCmd.OpenForm "AccessForm", acNormal, , "ID=10"
Syntaxe DoCmd.OpenForm
La syntaxe complète de la méthode est :
DoCmd.OpenForm(NomDeForme, FormView, Nom du filtre, OùCondition, Mode Données, Mode fenêtre, OpenArgs) où:
Paramètre | La description |
---|---|
NomDeForme | Obligatoire et correspond au nom du formulaire que vous souhaitez ouvrir. |
FormView | Facultatif et permet de spécifier la vue du formulaire. Cela peut être : acDesign, acFormDS, acFormPivotChart, acFormPivotTable, acLayout, acNormal, acLayout ou acPreview. La valeur par défaut est acNormal. |
Nom du filtre | Facultatif et vous permet de spécifier le nom d'une requête ou d'une chaîne SQL à utiliser comme filtre. |
OùCondition | Facultatif et vous permet d'effectuer une requête de type where sans utiliser le mot where. |
Mode Données | Facultatif et vous permet de spécifier votre mode de saisie de données. Cela peut être : acFormAdd, acFormEdit, acFormPropertySettings ou acFormReadOnly. La valeur par défaut est acFormPropertySettings. |
Mode fenêtre | Facultatif et définit l'affichage du mode Fenêtre. Cela peut être : acDialog, acHidden, acIcon, acWindowNormal. La valeur par défaut est acWindowNormal. |
OpenArgs | Facultatif peut être référencé dans les macros et les expressions. |
Programmation VBA | Le générateur de code fonctionne pour vous !
Fermer un formulaire dans Access
Utilisez DoCmd.Close pour fermer un formulaire ouvert :
DoCmd.Fermer acForm, "AccessForm"
Fermer le formulaire et enregistrer
Ce code VBA fermera et enregistrera un formulaire Access :
DoCmd.Close acForm, "AccessForm", acSaveYes
Demander avant de fermer le formulaire
Cette procédure demandera à l'utilisateur avant de fermer un formulaire :
Public Sub CloseFormWithConfirmation(FormName As String) If MsgBox("Êtes-vous sûr de vouloir fermer cette fenêtre ?", vbYesNo + vbQuestion, "Confirmation") = vbYes Then DoCmd.Close acForm, FormName End If End Sub
Vous pouvez l'appeler comme ceci :
Private Sub CloseFormWithConfirmation_Example() Appeler CloseFormWithConfirmation("AccessForm") End Sub
Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !
Syntaxe DoCmd.Close
La syntaxe complète de la méthode est :
DoCmd.Fermer (Type d'objet, Nom de l'objet, ObjetEnregistrer) où:
Paramètre | La description |
---|---|
Type d'objet | Facultatif et c'est le type d'objet que vous souhaitez fermer. Cela peut être un formulaire ou un rapport, etc. |
Nom de l'objet | Facultatif et correspond au nom de l'objet que vous souhaitez fermer. |
ObjetEnregistrer | Facultatif et permet de spécifier si vous souhaitez enregistrer les modifications apportées. |