Insérer un contrôle maître/détail

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Dans Microsoft Office InfoPath, le contrôle maître/détail vous permet de lier un contrôle à un autre, de sorte que la sélection effectuée dans le premier contrôle détermine le contenu affiché dans le second.

Contenu de cet article

Quand utiliser un contrôle maître/détail

Considérations en matière de compatibilité

Insérer un contrôle maître/détail

Modifier la relation Maître/Détail par défaut

Quand utiliser un contrôle maître/détail

Un contrôle maître/détail se compose en réalité de deux contrôles liés. L'un des contrôles est désigné comme étant le contrôle maître, alors que l'autre est le contrôle détail. Le contrôle maître est toujours un tableau extensible. Le contrôle détail peut être soit un tableau extensible, soit une section extensible.

Utiliser un contrôle maître/détail pour :

  • Permettre aux utilisateurs qui remplissent des formulaires basés sur votre modèle de formulaire de travailler plus efficacement avec de grandes quantités de données.

  • Afficher l'équivalent d'une relation un-à-un. Vous pouvez par exemple utiliser un contrôle maître/détail lorsque vous créez un modèle de formulaire de ressources humaines connecté à une base de données d'enregistrements d'employés. Le contrôle maître peut afficher le nom et la fonction d'un employé, alors que le contrôle détail indiquera son lieu de résidence, sa date d'embauche et sa date de naissance.

  • Afficher l'équivalent d'une relation un-à-plusieurs. De même, vous pouvez utiliser le contrôle maître pour afficher un jeu d'enregistrements (par exemple, le nom de vos clients) et les contrôles détail pour afficher les enregistrements liés (par exemple, les commandes passées par les clients).

Dans l'illustration suivante, les employés d'un département de ressources humaines cliquent sur une ligne d'un tableau extensible pour avoir accès à des informations détaillées sur un employé.

Informations sur un employé dans des contrôles maître et détail sur un formulaire

Lorsque les utilisateurs cliquent sur une ligne spécifique d'un tableau extensible (le contrôle maître), un ou plusieurs enregistrements détaillés sont affichés dans une section extensible ou un tableau extensible (le contrôle détail) ailleurs sur le formulaire.

InfoPath fournit un contrôle maître/détail prédéfini que vous pouvez insérer via le volet Office Contrôles. Vous pouvez également créer un contrôle maître/détail en insérant un tableau extensible et une section extensible (ou deux tableaux extensibles), puis en modifiant les propriétés de chaque contrôle.

Si votre modèle de formulaire est destiné principalement à l'affichage à l'écran des formulaires, envisagez de placer le contrôle détail à l'intérieur d'une zone de défilement dans votre modèle de formulaire. De cette façon, si une grande quantité de données sont affichées dans le contrôle, vos utilisateurs peuvent faire défiler les données. Notez que cette approche ne constitue pas la meilleure option si vous pensez que des utilisateurs voudront imprimer leurs formulaires. En effet, les données masquées dans la zone de défilement à l'écran le seront également sur le formulaire imprimé.

Haut de la page

Considérations en matière de compatibilité

Lorsque vous créez un modèle de formulaire dans InfoPath, vous pouvez choisir de créer un modèle de formulaire compatible avec les navigateurs web. Avec ce type de modèle, les contrôles maître/détail sont indisponibles dans le volet Office Contrôles car ils ne peuvent pas être affichés dans un navigateur Web.

De plus, bien que vous puissiez accéder à l'onglet Maître/Détail des boîtes de dialogue Propriétés - Section extensible et Propriétés - Tableau extensible, tous les paramètres de l'onglet sont indisponibles (ils sont estompés).

Pour contourner cette limitation, vous pouvez concevoir votre modèle de formulaire de telle sorte que les utilisateurs puissent afficher deux vues : une vue « maître » qui répertorie certains éléments et une vue « détail » comportant des informations développées spécifiques de chaque élément de la vue maître.

Haut de la page

Insérer un contrôle maître/détail

La procédure d'insertion d'un contrôle maître/détail diffère légèrement selon que vous conceviez un nouveau modèle de formulaire vierge ou que vous basiez la conception de votre modèle de formulaire sur une base de données ou une autre source de données externe.

Lorsque vous insérez un contrôle maître/détail à partir du volet Office contrôles, InfoPath insère un tableau extensible et une section extensible sont liés à la même groupe extensible dans la source de données. Par défaut, les deux contrôles contiennent d'autres contrôles, qui sont liées aux champs de ce groupe extensible.

L'illustration suivante montre un contrôle maître/détail dans mode Création.

Contrôle maître/détail, avec le contrôle détail sélectionné en mode Création

Les contrôles peuvent être dépendants ou indépendants. Lorsqu’un contrôle est dépendant, il est connecté à un champ ou un groupe dans la source de données. Les données entrées dans le contrôle sont ainsi enregistrées dans le fichier de formulaire (.xml) sous-jacent. Lorsqu’un contrôle est indépendant, il n’est pas connecté à un champ ou un groupe, et les données entrées dans le contrôle ne sont pas enregistrées. Lorsque vous sélectionnez un contrôle ou placez le pointeur dessus, un texte et une icône de dépendance apparaissent dans le coin supérieur droit du contrôle. Le texte indique le groupe ou le champ dont le contrôle dépend dans la source de données. L’icône indique si la dépendance du contrôle vis-à-vis de ce groupe ou champ est correcte. Lorsque la dépendance est correcte, une icône verte apparaît. Si la dépendance présente un problème, une icône bleue ou rouge apparaît.

La source de données pour le modèle de formulaire se compose de champs et des groupes qui s'affichent dans une vue hiérarchique dans le volet Office Source de données. Contrôle maître/détail est toujours liées à des groupes extensibles. Dans l'exemple suivant, le contrôle maître et le contrôle détail sont liés à tous le groupe extensible dans le volet Office Source de données.

Relation entre un contrôle maître/détail d'un modèle de formulaire et un groupe extensible d'une source de données

Remarque : Dans une relation un-à-plusieurs, les contrôles maître et détail sont généralement liés à des groupes extensibles distincts. Pour en savoir plus sur l'établissement d'une relation un-à-plusieurs plutôt que d'une relation un-à-un, voir Modifier la relation Maître/Détail par défaut, plus loin dans cet article.

Insérer un contrôle maître/détail sur un nouveau modèle de formulaire vierge

InfoPath fournit un contrôle maître/détail prédéfini que vous pouvez insérer via le volet Office Contrôles. Vous pouvez également créer un contrôle maître/détail en insérant un tableau extensible et une section extensible (ou deux tableaux extensibles), puis en modifiant les propriétés de chaque contrôle.

Lorsque vous créez un modèle de formulaire vide, la case Créer automatiquement la source de données dans le volet Office Contrôles est cochée par défaut. Ceci permet à InfoPath de créer automatiquement les champs et groupes dans la source de données tandis que vous ajoutez des contrôles au modèle de formulaire. Ces champs et groupes sont représentés par des icônes de dossier et de fichier dans le volet Office Source de données.

  1. Sur le modèle de formulaire, placez le curseur à l’endroit auquel vous voulez insérer le contrôle.

  2. Si le volet Office Contrôles n’est pas visible, cliquez sur Autres contrôles dans le menu Insertion, ou appuyez sur Alt+I, C.

  3. Sous Insérer des contrôles, cliquez sur Maître/Détail.

  4. Dans la zone Nombre de colonnes de type maître de la boîte de dialogue Insérer un Maître/Détail, entrez le nombre de colonnes du contrôle maître.

  5. Dans la zone Nombre de champs de type détail, entrez le nombre de champs du contrôle détail.

    InfoPath insère deux contrôles dans le modèle de formulaire. Le premier se nomme Tableau extensible (maître) et le second, Section extensible (détail).

  6. Pour tester la relation Maître/Détail, cliquez sur Aperçu avant impression dans la barre d'outils Standard, puis entrez les données appropriées dans le contrôle maître. Les données liées doivent s'afficher dans le contrôle détail.

Insérer un contrôle maître/détail dans un modèle de formulaire basé sur une source de données existante

Si vous basez la conception de votre modèle de formulaire dans un fichier de langage XML (Extensible Markup) existant, une base de données ou un service Web, InfoPath détermine les champs et les groupes dans le volet Office Source de données à partir de la source de données existante. Dans ce scénario, vous pouvez insérer un contrôle maître/détail depuis le volet Office contrôles, comme décrit dans la procédure suivante.

Les contrôles maître et détail peuvent être liés au même groupe extensible ou à des groupes extensibles différents, selon vos besoins. Les contrôles qui s'affichent à l'intérieur d'un contrôle maître/détail sont liés aux champs qui font partie d'un groupe extensible.

  1. Sur le modèle de formulaire, placez le curseur à l’endroit auquel vous voulez insérer le contrôle.

  2. Si le volet Office Contrôles n’est pas visible, cliquez sur Autres contrôles dans le menu Insertion, ou appuyez sur Alt+I, C.

  3. Sous Insérer des contrôles, cliquez sur Tableau extensible.

  4. Dans la première page de l'Assistant Liaison du tableau extensible, cliquez sur le groupe extensible auquel vous souhaitez lier les lignes du tableau, puis cliquez sur Suivant. Si votre tableau ne contient qu'une seule colonne, vous pouvez sélectionner un champ extensible au lieu d'un groupe extensible.

    Conseil : Pour créer un nouveau groupe extensible auquel lier le tableau, cliquez avec le bouton droit sur le groupe auquel vous souhaitez ajouter le groupe extensible, cliquez sur Ajouter dans le menu contextuel, puis, dans la boîte de dialogue Ajouter un champ ou un groupe, entrez les propriétés du groupe extensible.

  5. Pour ajouter les colonnes à inclure dans le tableau, double-cliquez sur les champs appropriés dans la liste Liaison de données.

    Conseil : Pour créer un nouveau champ afin de l'ajouter en tant que colonne, cliquez avec le bouton droit sur le groupe auquel est lié le tableau, cliquez sur Ajouter dans le menu contextuel, puis dans la boîte de dialogue Ajouter un champ ou un groupe, entrez les propriétés du champ.

  6. Pour réorganiser les colonnes, cliquez sur l'une d'entre elles dans la liste Colonnes de la table, cliquez sur Monter ou Descendre, puis sur Terminer.

  7. Double-cliquez sur l'étiquette Tableau extensible située sous le tableau dans votre modèle de formulaire.

  8. Cliquez sur l'onglet Maître/Détail.

  9. Cliquez sur Définir en tant que maître, tapez un nouveau nom dans la zone ID maître et cliquez sur OK.

  10. Placez le curseur sur votre modèle de formulaire dans lequel vous voulez insérer la section extensible (contrôle détail).

  11. Sous Insérer des contrôles dans le volet Office Contrôles, cliquez sur Section extensible.

    Remarque : Vous pouvez également utiliser un autre type de tableau extensible en tant que contrôle détail.

  12. Dans la première page de l'Assistant Liaison de la section extensible, cliquez sur le groupe extensible auquel vous souhaitez lier la section, puis cliquez sur OK.

  13. Double-cliquez sur l'étiquette Section extensible située sous le tableau dans votre modèle de formulaire.

  14. Cliquez sur l'onglet Maître/Détail.

  15. Cliquez sur Définir en tant que détail et cliquez ensuite sur le nom du contrôle maître dans la liste Lier à l'ID maître.

  16. Pour modifier la valeur par défaut, une relation du contrôle maître/détail pour une relation un-à-plusieurs, cliquez sur par champ clé sous relation maître/détail, puis cliquez sur Sélectionner une expression XPath Image du bouton en regard des zones champ clé (maître) et champ clé (détail) pour sélectionner les champs de clé que vous voulez.

  17. Pour tester la relation Maître/Détail, cliquez sur Aperçu avant impression dans la barre d'outils Standard, puis entrez les données appropriées dans le contrôle maître. Les données liées doivent s'afficher dans le contrôle détail.

Conseil : Vous pouvez également utiliser le volet Office Source de données pour insérer des contrôles maître/détail. Pour créer le contrôle maître, dans le volet Office Source de données, cliquez avec le bouton droit sur le groupe extensible auquel vous souhaitez lier le contrôle maître et cliquez ensuite sur Tableau extensible dans le menu contextuel. Suivez la même procédure générale pour créer le contrôle détail.

Haut de la page

Modifier la relation Maître/Détail par défaut

Lorsque vous insérez un contrôle maître/détail dans votre modèle de formulaire à l'aide du volet Office Contrôles, InfoPath établit une relation un-à-un entre le contrôle maître et le contrôle détail. Une relation un-à-un signifie que pour chaque sélection dans le contrôle maître s'affiche un résultat unique correspondant dans le contrôle détail.

Vous pouvez modifier la relation Maître/Détail en remplaçant la relation un-à-un par défaut par une relation un-à-plusieurs. Cette dernière signifie que pour chaque sélection dans le contrôle maître peuvent s'afficher plusieurs résultats correspondants dans le contrôle détail.

Lorsque vous ajoutez un contrôle maître/détail dans votre modèle de formulaire, InfoPath insère par défaut un tableau extensible et une section extensible. Ces deux contrôles sont liés au même groupe extensible dans la source de données. Par défaut, ils contiennent tous deux d'autres contrôles qui sont liés à des champs dans ce groupe extensible. Cependant, dans une relation un-à-plusieurs, les contrôles maître et détail sont généralement liés à des groupes extensibles distincts.

Si vous avez inséré un contrôle maître/détail dans votre modèle de formulaire à partir du volet Office Contrôles et si vous souhaitez établir une relation un-à-plusieurs à la place d'une relation un-à-un, vous pouvez supprimer le contrôle détail créé par InfoPath, afin d'en créer un autre mieux adapté à vos besoins. Pour cela, procédez comme suit :

  1. Sélectionnez la section extensible désignée comme contrôle détail, puis appuyez sur la touche SUPPR.

  2. Insérez une nouvelle section dans le modèle de formulaire.

    Comment ?

    1. Sur le modèle de formulaire, placez le curseur à l’endroit auquel vous voulez insérer le contrôle.

    2. Si le volet Office Contrôles n’est pas visible, cliquez sur Autres contrôles dans le menu Insertion, ou appuyez sur Alt+I, C.

    3. Dans le volet Office Contrôles, activez la case à cocher Créer automatiquement la source de données.

    4. Sous Insérer des contrôles, cliquez sur Section extensible.

  3. Insérez les contrôles souhaités dans la section extensible.

    Comment ?

    1. Sur le modèle de formulaire, placez le curseur à l’endroit auquel vous voulez insérer le contrôle.

    2. Si le volet Office Contrôles n’est pas visible, cliquez sur Autres contrôles dans le menu Insertion, ou appuyez sur Alt+I, C.

    3. Dans le volet Office Contrôles, activez la case à cocher Créer automatiquement la source de données.

    4. Sous Insérer des contrôles, cliquez sur le contrôle à insérer.

    5. Répétez les étapes 1 à 4 pour chaque contrôle que vous souhaitez insérer.

  4. Double-cliquez sur la section extensible dans le modèle de formulaire.

  5. Cliquez sur l'onglet Maître/Détail.

  6. Sous Paramètres Maître/Détail, cliquez sur Définir en tant que détail.

  7. Dans la liste Lier à l'ID maître, cliquez sur le nom du contrôle maître.

  8. Sous Relation Maître/Détail, cliquez sur Par champ clé.

  9. Cliquez sur Sélectionner une expression XPath Image du bouton en regard de la zone champ clé (maître), puis, dans la boîte de dialogue Sélectionner un champ ou un groupe, cliquez sur le champ de clé pour le contrôle maître et puis cliquez sur OK.

  10. Cliquez sur Sélectionner une expression XPath Image du bouton en regard de la zone champ clé (détail), puis, dans la boîte de dialogue Sélectionner un champ ou un groupe, cliquez sur le champ de clé pour le contrôle détail et puis cliquez sur OK.

Conseil : Si vous souhaitez définir une relation un-à-plusieurs lorsque vous créez initialement un contrôle maître/détail, il peut être préférable de créer manuellement votre propre contrôle maître/détail au lieu d'utiliser le contrôle maître/détail prédéfini disponible dans le volet Office Contrôles. Vous pouvez créer votre propre contrôle en établissant une relation Maître/Détail entre un tableau extensible et une section extensible ou bien entre deux tableaux extensibles dans un modèle de formulaire. Pour cela, ouvrez la boîte de dialogue Propriétés pour chaque contrôle et désignez ensuite un contrôle comme le contrôle maître et l'autre comme le contrôle détail. Vous pouvez configurer une relation un-à-plusieurs à l'aide des champs clés, en modifiant les propriétés du contrôle détail.

Haut de la page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×