Si vous disposez d’un long formulaire à plusieurs éléments, vous souhaitez parfois rapidement « descendre en détail » pour afficher plus d’informations sur un seul élément. Vous pouvez le faire dans Access en liant le formulaire à plusieurs éléments à un formulaire à élément unique. Lorsque vous cliquez sur un élément dans le formulaire à plusieurs éléments, le formulaire à élément unique s’ouvre pour afficher les détails.
Remarques :
-
Cet article ne s’applique pas aux applications web Access, c’est-à-dire au type de base de données que vous concevez avec Access et que vous publiez en ligne.
-
Si vous entendiez autre chose par « liaison », consultez Autres types de liaison de formulaire à la fin de cet article.
Créer les formulaires
Dans la plupart des cas, les deux formulaires d’une configuration d’exploration sont basés sur la même table ou requête. Si vous avez déjà une paire de formulaires que vous souhaitez utiliser (l’un étant une feuille de données ou un formulaire à plusieurs éléments, et l’autre un formulaire à élément unique ou « détail »), vous pouvez ignorer cette section. Sinon, utilisez ces procédures pour les créer :
Créez une feuille de données ou un formulaire à plusieurs éléments :
-
Dans le volet de navigation, sélectionnez la table ou la requête qui contient les données souhaitées dans le formulaire de feuille de données.
-
Cliquez sur Créer > Plus Forms, puis sur Plusieurs éléments ou Feuille de données, selon le type souhaité.
-
Apportez les modifications de conception souhaitées. Envisagez de supprimer autant de colonnes que possible, en laissant juste assez d’informations pour identifier chaque élément.
-
Enregistrez et fermez le formulaire.
Pour plus d’informations sur les formulaires à plusieurs éléments, consultez Créer un formulaire à l’aide de l’outil Éléments multiples.
Créez un formulaire à élément unique ou « détail » :
-
Dans le volet de navigation, sélectionnez la table ou la requête qui contient les données souhaitées dans le formulaire de détails. Il s’agit probablement de la même table ou requête que celle que vous avez utilisée pour le premier formulaire.
-
Cliquez sur Créer > formulaire.
-
Apportez les modifications de conception souhaitées, puis enregistrez et fermez le formulaire.
Pour plus d’informations, consultez Créer un formulaire à l’aide de l’outil Formulaire.
Ajouter la logique qui ouvre le formulaire de détails
Maintenant, ajoutez une petite macro au formulaire à plusieurs éléments ou feuille de données. La macro ouvre le formulaire de détails et vérifie que l’élément correct est affiché.
Ne vous inquiétez pas si vous n’avez pas beaucoup travaillé avec les macros ; vous pouvez simplement copier et coller le code XML que vous trouverez dans cette procédure.
-
Si vous utilisez un formulaire de feuille de données, double-cliquez dessus dans le volet de navigation pour l’ouvrir. Pour un formulaire à plusieurs éléments, cliquez dessus avec le bouton droit dans le volet de navigation, puis cliquez sur Mode Disposition.
-
Appuyez sur F4 pour ouvrir la feuille de propriétés si elle n’est pas déjà ouverte.
-
Cliquez sur la colonne à laquelle vous souhaitez ajouter la macro. Il s’agit de la colonne sur laquelle vous cliquez pour ouvrir le formulaire de détails une fois la macro terminée. Dans l’image ci-dessus, la macro est ajoutée à la colonne ID de frmContactList.
Conseil : Vous pouvez ajouter la macro à plusieurs colonnes.
-
Sous l’onglet Événement de la feuille de propriétés, cliquez dans la zone de propriété Clic ou Sur clic (selon que vous souhaitez que le formulaire s’ouvre en cliquant un seul clic ou en double-cliquant sur le champ), puis cliquez sur le bouton Générer
. -
Si Access vous invite à choisir un générateur, sélectionnez Générateur de macros , puis cliquez sur OK.
-
Sélectionnez ce bloc xml, puis appuyez sur Ctrl+C pour le copier dans le Presse-papiers : <?xml version="1.0" encoding="UTF-16" standalone="no"?> <UserInterfaceMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"> <UserInterfaceMacro For="ID" Event="OnClick"><Statements><Action Name="OnError"><Argument Name="Goto">Macro Name</Argument><Argument Name="MacroName">ErrorHandler</Argument></Action> <ConditionalBlock><If><Condition>[Form].[Dirty]</Condition><Statements><Action Name="SaveRecord"/></Statements></If></ConditionalBlock> <ConditionalBlock><If><Condition>IsNull([ID])</Condition><Statements><Comment>Open the form to a new record if the current ID is Null</Comment><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="DataMode">Add</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="Requery"/></Statements></If><Else><Statements><Comment>Use a TempVar to pass a filter to the OpenForm action</Comment><Action Name="SetTempVar"><Argument Name="Name">Contact_ID</Argument><Argument Name="Expression">[ID]</Argument></Action><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="WhereCondition">[ID]=[TempVars]![Contact_ID]</Argument><Argument Name="DataMode">Edit</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="RemoveTempVar"><Argument Name="Name">Contact_ID</Argument></Action><Action Name="RefreshRecord"/></Statements></Else></ConditionalBlock> </Statements></UserInterfaceMacro></UserInterfaceMacros>
-
Cliquez dans la zone vide du Générateur de macros (juste en dessous de la liste déroulante Ajouter une nouvelle action ), puis appuyez sur Ctrl+V pour coller les actions de macro. Si tout se passe bien, vous ne verrez pas du tout le CODE XML dans le Générateur de macros ; il se développera dans les blocs de macro plus lisibles, comme indiqué à l’étape suivante.
-
Si nécessaire, remplacez le nom du formulaire (frmContactDetails) et le nom de la colonne de liaison (ID) par le nom de votre formulaire et la colonne que vous utilisez pour lier les deux formulaires. L’image ci-dessous montre où vous devrez peut-être apporter des modifications pour faire correspondre vos propres noms d’identificateur :
-
Sous l’onglet Création , cliquez sur Enregistrer , puis sur Fermer.
-
Si vous souhaitez que les colonnes cliquables apparaissent comme un lien hypertexte afin que les utilisateurs sachent qu’ils peuvent cliquer dessus, assurez-vous que la colonne est toujours sélectionnée, puis, dans la feuille de propriétés, cliquez sur l’onglet Format , puis définissez la propriété Afficher en tant que lien hypertexte sur Toujours.
-
Enregistrez et fermez le formulaire, puis rouvrez-le et testez la macro en cliquant ou double-cliquant sur la colonne que vous avez modifiée.
Pour plus d’informations sur les macros dans les bases de données de bureau, consultez Ajouter une logique à un contrôle dans une base de données de bureau.
Autres types de liaison de formulaire
Pour créer une combinaison formulaire/sous-formulaire et les lier, consultez Créer un formulaire contenant un sous-formulaire (formulaire un-à-plusieurs).
Pour créer un formulaire lié à une source de données telle qu’une table ou une requête, consultez Créer un formulaire à l’aide de l’outil Formulaire.