Créer un état
eric232
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
eric232 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
eric232 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai 3 tables ayant un champ commun, le code projet qui est clé primaire dans la 1re table :
- la 1re contenant les infos générales un projet : Nom du projet, dates, n° commissions, etc
- la 2ème contenant les informations relatives aux diplomes
- la 3ème les infos relatives à l'avancement du projet
J'ai crée une une première requête INNER JOIN reprenant tous les enregistrements de la table 1 avec les données de la table 2, puis une 2° requête LEFT JOIN reprenant tous les enregistrements de la requete1 avec les données de la table 3.
La source de mon état est la 2° requête. J'ai mis les données concernant les infos générales un projet (correspondant à table 1) dans une premier Entete de groupe et les données concernant les diplomes dans un deuxième Entete de groupe (correspondant à table 2) et les données relatives à l'avancement du projet (=table3) dans la partie Détail.
J'ai essayé plusieurs combinaisons, mon problème c'est que pour 1 projet donné, les données relatives à l'avancement du projet sont répétées et s'affichent pour chaque diplomes.
Mon but est que si je choisi un seul projet avec "PARAMETERS [Quel N° de projet?] Value" dans la requete, il puisse n'apparaitre qu'une seule fois les infos de la table 3.
Merci de votre aide
NB : la table des relations est-elle indispensable avec 1 à l'infini de la tables 1 vers les 2 autres ?
J'ai 3 tables ayant un champ commun, le code projet qui est clé primaire dans la 1re table :
- la 1re contenant les infos générales un projet : Nom du projet, dates, n° commissions, etc
- la 2ème contenant les informations relatives aux diplomes
- la 3ème les infos relatives à l'avancement du projet
J'ai crée une une première requête INNER JOIN reprenant tous les enregistrements de la table 1 avec les données de la table 2, puis une 2° requête LEFT JOIN reprenant tous les enregistrements de la requete1 avec les données de la table 3.
La source de mon état est la 2° requête. J'ai mis les données concernant les infos générales un projet (correspondant à table 1) dans une premier Entete de groupe et les données concernant les diplomes dans un deuxième Entete de groupe (correspondant à table 2) et les données relatives à l'avancement du projet (=table3) dans la partie Détail.
J'ai essayé plusieurs combinaisons, mon problème c'est que pour 1 projet donné, les données relatives à l'avancement du projet sont répétées et s'affichent pour chaque diplomes.
Mon but est que si je choisi un seul projet avec "PARAMETERS [Quel N° de projet?] Value" dans la requete, il puisse n'apparaitre qu'une seule fois les infos de la table 3.
Merci de votre aide
NB : la table des relations est-elle indispensable avec 1 à l'infini de la tables 1 vers les 2 autres ?
A voir également:
- Créer un état
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
5 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Je me demande si tu ne peux pas réaliser cela en faisant un état dont la source est ta table 1, et en insérant deux sous-états, l'un dont la source est ta requête 1, l'autre dont la source est une nouvelle requête, INNER JOIN reprenant tous les enregistrements de la table 1 avec les données de la table 3.
Plusieurs questions
J'ai compris que l'état ne comporte aucune donnée même si la source est la table 1
Le 1er sous état, dont la source est ta requête 1, il comporte quelles données ?
Si le 1er sous état comporte les données de la requête 1 (table 1 et 2) et si le 2ème sous état comporte les données des tables 1 et 3 va peut être poser le problème de l'affichage des données.
Il faudrait que le bloc 1 fasse apparaitre les données de la table 1, le bloc 2 les données de la table 2 et le bloc 3 les données de la table 3 et tout cela pour un seul projet
Le code SQL "PARAMETERS [Quel N° de projet?] Value" ; je le mets où ?
J'ai compris que l'état ne comporte aucune donnée même si la source est la table 1
Le 1er sous état, dont la source est ta requête 1, il comporte quelles données ?
Si le 1er sous état comporte les données de la requête 1 (table 1 et 2) et si le 2ème sous état comporte les données des tables 1 et 3 va peut être poser le problème de l'affichage des données.
Il faudrait que le bloc 1 fasse apparaitre les données de la table 1, le bloc 2 les données de la table 2 et le bloc 3 les données de la table 3 et tout cela pour un seul projet
Le code SQL "PARAMETERS [Quel N° de projet?] Value" ; je le mets où ?
Je pensais utiliser l'état comme bloc 1, le premier sous-état comme bloc 2, le second sous-état comme bloc 3. Le code SQL de sélection de projet sera donc associé à l'état, ou spécifié au moment d'ouvrir l'état.
Donc dans bloc 1 les données de la table 1, dans bloc 2 les données de la table 2, dans bloc 3 les données de la table 3.
Quand tu définis les sous-états, tu dois être très attentif à la liaison entre l'état et chaque sous-état, comme expliqué en: https://support.microsoft.com/fr-fr/office/cr%c3%a9er-et-utiliser-des-sous-%c3%a9tats-816f987a-4615-4058-8f20-ce817093bb33?ui=fr-fr&%3brs=fr-fr&%3bad=fr&rs=fr-fr&ad=fr
C'est pour permettre ces liaisons que les deux sous-états utilisent des requêtes impliquant la table 1.
Est-ce plus clair ainsi?
Donc dans bloc 1 les données de la table 1, dans bloc 2 les données de la table 2, dans bloc 3 les données de la table 3.
Quand tu définis les sous-états, tu dois être très attentif à la liaison entre l'état et chaque sous-état, comme expliqué en: https://support.microsoft.com/fr-fr/office/cr%c3%a9er-et-utiliser-des-sous-%c3%a9tats-816f987a-4615-4058-8f20-ce817093bb33?ui=fr-fr&%3brs=fr-fr&%3bad=fr&rs=fr-fr&ad=fr
C'est pour permettre ces liaisons que les deux sous-états utilisent des requêtes impliquant la table 1.
Est-ce plus clair ainsi?
Bonjour,
J'ai créé 2 sous états mais dans les propriétés de l'Etat et des sous-états, je n'ai pas trouvé les propriétés Champs pères et Champs fils dans l'onglet Données.
Dans Filtre des 2 sous états, j'ai mis le nom de l'Etat et j'obtiens ce que je voulais, sauf que je ne veux qu'un seul projet, pas tous.
J'ai créé 2 sous états mais dans les propriétés de l'Etat et des sous-états, je n'ai pas trouvé les propriétés Champs pères et Champs fils dans l'onglet Données.
Dans Filtre des 2 sous états, j'ai mis le nom de l'Etat et j'obtiens ce que je voulais, sauf que je ne veux qu'un seul projet, pas tous.
Je pense qu'il te suffit maintenant de faire ce que tu avais expliqué au départ: utiliser la requête sur la table 1 (avec "PARAMETERS [Quel N° de projet?] Value") comme source de ton état, au lieu de la table 1. Surtout, sans toucher aux sous-états.
https://support.microsoft.com/fr-fr/office/utiliser-une-requ%c3%aate-comme-source-d-enregistrement-d-un-formulaire-ou-d-un-%c3%a9tat-e54251f3-57ca-4a7d-8e77-e498966cd41b?ui=fr-fr&rs=fr-fr&ad=fr
https://support.microsoft.com/fr-fr/office/utiliser-une-requ%c3%aate-comme-source-d-enregistrement-d-un-formulaire-ou-d-un-%c3%a9tat-e54251f3-57ca-4a7d-8e77-e498966cd41b?ui=fr-fr&rs=fr-fr&ad=fr
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question