|
|
|
|
|
- Méthode 1 : Champs Table liés par la propriété Filtre
- Création du premier champ Table
- Création du second champ Table
- Mise en place de la liaison entre les champs Table
- Utilisation de requêtes
- Création de la requête
- Création du second champ Table
- Mise en place de la liaison entre les champs Table
Comment créer deux tables reliées en cascade ?
On nomme Tables en cascade deux champs Table dont le contenu est lié. Par exemple : - Afficher dans un champ Table des familles de produits.
- Pour chaque famille sélectionnée dans le champ Table, afficher dans un second champ Table les produits lui appartenant.
Cette page d'aide présente comment créer des Tables en cascade : Méthode 1 : Champs Table liés par la propriété Filtre La propriété Filtre sur un champ Table permet de filtrer le contenu du champ Table par rapport à une valeur. Cette valeur est testée par rapport à la rubrique de parcours définie au niveau du champ Table. Le filtre va être appliqué sur le second champ Table. Le code de sélection de ligne sera utilisé pour déclencher ce filtre. Dans cet exemple, nous afficherons dans le champ Table principal les clients du fichier de données CLIENT. Le second champ Table contiendra les commandes du client sélectionné dans le premier champ Table. Les différentes étapes pour créer ces 2 champs Table en cascade sont les suivantes : - Création du premier champ Table.
- Création du second champ Table.
- Liaison entre les deux champs Table.
Création du premier champ Table - Créez si nécessaire une fenêtre.
- Dans le ruban, sous le volet "Création", dans le groupe "Données", déroulez "Table et Liste" et sélectionnez "Table (verticale)".
Cliquez dans la fenêtre à la position où le champ Table doit être créé.
- L'assistant de création d'un champ Table se lance.
- Sélectionnez l'option "Afficher des données d'un fichier ou d'une requête existante".
Passez à l'étape suivante de l'assistant.
- Sélectionnez le fichier associé au champ Table. Dans notre exemple, le fichier CLIENT.
Passez à l'étape suivante de l'assistant. - Sélectionnez les rubriques à afficher dans le champ Table. Dans notre exemple, les rubriques NomClient, Société, CodePostal et Ville.
Passez à l'étape suivante de l'assistant. - Sélectionnez la clé de parcours. Dans notre exemple, la rubrique NumClient.
Passez à l'étape suivante de l'assistant. - Les autres étapes de l'assistant n'étant pas importantes pour notre exemple, terminez l'assistant.
- Validez. Le champ Table est automatiquement créé dans la fenêtre.
- Modifiez la hauteur du champ à l'aide des poignées de redimensionnement.
Création du second champ Table Le second champ Table va être créé de la même façon. - Dans le ruban, sous le volet "Création", dans le groupe "Données", déroulez "Table et Liste" et sélectionnez "Table (verticale)".
Cliquez dans la fenêtre à la position où le second champ Table doit être créé (sous le premier).
- L'assistant de création d'un champ Table se lance.
- Sélectionnez l'option "Afficher des données d'un fichier ou d'une requête existante".
Passez à l'étape suivante de l'assistant.
- Sélectionnez le fichier associé au champ Table. Dans notre exemple, le fichier de données COMMANDE.
Passez à l'étape suivante de l'assistant. - Sélectionnez les rubriques à afficher dans le champ Table. Dans notre exemple, nous sélectionnons les rubriques NumCommande, DateCommande, TotalHT et TotalTTC.
Passez à l'étape suivante de l'assistant. - Sélectionnez la clé de parcours. Attention, la clé de parcours doit être la rubrique qui fait le lien avec le premier champ Table. Dans notre exemple, cette rubrique est la rubrique NumClient.
Passez à l'étape suivante de l'assistant. - Les autres étapes de l'assistant n'étant pas importantes pour notre exemple, terminez l'assistant.
- Validez. Le champ Table est automatiquement créé dans la fenêtre.
Mise en place de la liaison entre les champs Table Pour mettre en place la liaison entre les champs Table, il faut : - S'assurer que le premier champ Table retourne la valeur qui permettra de filtrer le second champ Table. Cette configuration est réalisée dans la description du champ Table (onglet "Contenu", option "Rubrique mémorisée"). Dans notre exemple, la rubrique mémorisée sera NumClient.
- Affichez la description du premier champ Table (option "Description de la table" du menu contextuel du champ).
- Dans l'onglet "Contenu", sélectionnez la rubrique à mémoriser (combo "Rubrique mémorisée"). Dans notre exemple, cette option correspond à la rubrique NumClient :
- Validez la fenêtre.
- Activer le filtre du second champ Table à l'aide de la propriété Filtre.
- Sélectionnez le premier champ Table et affichez les événements du champ (touche F2).
- Positionnez-vous dans l'événement "Sélection d'une ligne" du champ Table pour saisir le code suivant :
NomSecondeTable.Filtre = NomPremièreTable Dans notre exemple, le code correspondant est :
Les deux champs Table sont liés. Il suffit de tester la fenêtre (GO parmi les boutons d'accès rapide). Sélectionnez un client dans le premier champ Table. Le résultat est immédiat.
Cette méthode utilise une requête pour créer et filtrer les enregistrements du second champ Table. Dans cet exemple, nous afficherons dans le champ Table principal les clients du fichier CLIENT. Le second champ Table contiendra les commandes du client sélectionné dans le premier champ Table. Les différentes étapes pour créer ces 2 tables en cascade sont les suivantes : - Création du premier champ Table (cette étape est identique à celle de la première méthode).
- Création d'une requête avec un filtre permettant de sélectionner uniquement les enregistrements correspondant à la ligne sélectionnée dans le premier champ Table. Cette requête va être utilisée comme source du second champ Table.
- Création du second champ Table.
- Liaison entre les deux champs Table.
Création du premier champ Table - Créez si nécessaire une fenêtre.
- Dans le ruban, sous le volet "Création", dans le groupe "Données", déroulez "Table et Liste" et sélectionnez "Table (verticale)".
Cliquez dans la fenêtre à la position où le champ Table doit être créé.
- L'assistant de création d'un champ Table se lance.
- Sélectionnez l'option "Afficher des données d'un fichier ou d'une requête existante".
Passez à l'étape suivante de l'assistant.
- Sélectionnez le fichier associé au champ Table. Dans notre exemple, le fichier CLIENT.
Passez à l'étape suivante de l'assistant. - Sélectionnez les rubriques à afficher dans le champ Table. Dans notre exemple, les rubriques NomClient, Société, CodePostal et Ville.
Passez à l'étape suivante de l'assistant. - Sélectionnez la clé de parcours. Dans notre exemple, la rubrique NumClient.
Passez à l'étape suivante de l'assistant. - Les autres étapes de l'assistant n'étant pas importantes pour notre exemple, terminez l'assistant.
- Validez. Le champ Table est automatiquement créé dans la fenêtre.
- Modifiez la hauteur du champ à l'aide des poignées de redimensionnement.
Création de la requête Les différentes étapes pour créer cette requête SQL avec un filtre sont les suivantes : - Cliquez sur parmi les boutons d'accès rapide.
- Dans la fenêtre qui s'affiche, cliquez sur "Requêtes".
- L'assistant de création d'une requête se lance.
- Choisissez de créer une requête de sélection (option "Sélection (SELECT)").
Passez à l'étape suivante de l'assistant. - La fenêtre de description de la requête s'affiche.
- Donnez un nom et un libellé à la requête :
- Dans la zone de gauche de la fenêtre de description, choisissez les rubriques du fichier de données à manipuler (dans notre exemple, le fichier COMMANDE et les rubriques NumClient, NumCommande, DateCommande, TotalHT et TotalTTC).
- Double-cliquez sur les noms des rubriques pour les ajouter dans la liste des rubriques de la requête :
- Pour effectuer le filtre (sélection), sélectionnez dans la partie centrale la rubrique NumClient, puis dans la partie droite de l'éditeur, cliquez sur le bouton "Condition de sélection".
- Dans le menu qui s'affiche, sélectionnez "Nouvelle condition...".
- Dans la fenêtre qui s'affiche :
- Sélectionnez l'opération ("est égal à " dans notre exemple).
- Sélectionnez "Paramètre" pour pouvoir passer à la requête une valeur sélectionnée dans le premier champ Table.
- Validez. La fenêtre de description de la requête est mise à jour :
- Validez la fenêtre de description de la requête. La requête apparaît sous l'éditeur :
- Enregistrez la requête (Ctrl + S).
Création du second champ Table Pour créer le second champ Table : - Créez si nécessaire une fenêtre.
- Dans le ruban, sous le volet "Création", dans le groupe "Données", déroulez "Table et Liste" et sélectionnez "Table (verticale)".
Cliquez dans la fenêtre à la position où le champ Table doit être créé.
- L'assistant de création d'un champ Table se lance.
- Sélectionnez l'option "Afficher des données d'un fichier ou d'une requête existante".
Passez à l'étape suivante de l'assistant.
- Sélectionnez la requête créée auparavant pour l'associer au champ Table. Dans notre exemple, la requête REQ_CommandeClient.
Passez à l'étape suivante de l'assistant. - Sélectionnez les rubriques à afficher dans la table. Dans notre exemple, les rubriques NumCommande, DateCommande, TotalHT et TotalTTC sont sélectionnées.
Passez à l'étape suivante de l'assistant. - Les autres étapes de l'assistant n'étant pas importantes pour notre exemple, terminez l'assistant.
- Validez. Le second champ Table est automatiquement créé.
Mise en place de la liaison entre les champs Table Pour mettre en place la liaison entre les champs Table, il faut : - S'assurer que le premier champ Table retourne la valeur qui permettra de filtrer le contenu de la requête. Cette configuration est réalisée dans la description du champ Table (onglet "Contenu", option "Rubrique mémorisée"). Dans notre exemple, la rubrique mémorisée sera NumClient.
- Affichez la description du premier champ Table (option "Description de la table" du menu contextuel du champ).
- Dans l'onglet "Contenu", sélectionnez la rubrique à mémoriser (combo "Rubrique mémorisée"). Dans notre exemple, cette option correspond à la rubrique NumClient :
- Validez la fenêtre.
- Initialiser le paramètre de la requête utilisée par le second champ Table.
- Sélectionnez le premier champ Table et affichez les événements du champ (touche F2).
- Positionnez-vous dans l'événement "Sélection d'une ligne de la table..." pour saisir le code suivant :
NomRequête.NomParamètre = NomPremièreTable HExécuteRequete(NomRequête) TableAffiche(NomSecondeTable) Dans notre exemple, le code correspondant est :
Les deux champs Tables sont liés. Il suffit de tester la fenêtre (GO parmi les boutons d'accès rapide). Sélectionnez un client dans la première table. Le résultat est immédiat.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|