Créer un état

Fermé
eric232 Messages postés 15 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 13 juin 2017 - 10 janv. 2017 à 11:51
eric232 Messages postés 15 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 13 juin 2017 - 13 janv. 2017 à 14:10
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 ?

5 réponses

yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 Ambassadeur 1 550
10 janv. 2017 à 21:43
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.
0
eric232 Messages postés 15 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 13 juin 2017
12 janv. 2017 à 13:23
Je reviens dès que j'ai testé
0
eric232 Messages postés 15 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 13 juin 2017
12 janv. 2017 à 15:57
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ù ?
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 550
12 janv. 2017 à 16:16
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?
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 550
12 janv. 2017 à 16:40
A la réflexion, comme tes tables 2 et 3 contiennent une référence vers la table 1, tu peux directement utiliser les tables comme sources de l'état et des sous-états, et utiliser les relations entre les tables pour lier les sous-états à l'état.
0
eric232 Messages postés 15 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 13 juin 2017
13 janv. 2017 à 11:36
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.
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 550
13 janv. 2017 à 12:38
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eric232 Messages postés 15 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 13 juin 2017
13 janv. 2017 à 14:10
C'est bon ça marche, mais dans le lien microsoft, je ne vois pas la solution.
Je n'ai jamais trouvé de réponse dans ces aides microsoft même s'ils apparaissent toujours en premier lorsqu'on fait une recherche sur google.
0