[Résolu] Plusieurs grilles dans un même rapport ?
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
-
- NOOuvel adepte
- Messages : 10
- Inscription : 13 mai 2007 14:07
[Résolu] Plusieurs grilles dans un même rapport ?
Bonjour,
Voici un problème auquel je me heurte depuis quelques jours :
Je construis une Base (postgresql) destinée à être partagée par plusieurs utilisateurs qui devra gérer des formations dans laquelle, schématiquement, il y a un table "sessionDeFormation" principale liée d'une part à un table "informations" (numéro de formation, responsable...) d'autre part à une table "listeDesParticipants" et à une troisième table "listeDesFormateurs".
J'ai pas mal galéré mais grâce à de nombreux posts de ce forum, j'ai réussi à créer une base dans LibreOffice connectée à la postgresql, dans laquelle j'ai un formulaire avec listes déroulantes, sous-formulaires, etc qui permet d'afficher les données et les renseigner.
Je passe maintenant à la phase de création des rapports. Et c'est là que le bas blesse. J'ai beau jouer avec les regroupements, trafiquer la requête de départ, rien n'y fait.
J'ai su comment, sur un même rapport afficher la table des informations (qui changent selon l'identifiant de la session que je veux afficher) que je mets dans l'entête de page et la liste des participants que je mets dans le détail de la page. un peu comme dans mon formulaire où les informations sont dans le formulaire principal et la liste dans un sous-formulaire
Mais j'ai beau m'arracher mes derniers cheveux, je n'arrive pas à afficher la liste des formateurs (spécifique à chaque session).
J'ai bien essayé de faire une requête qui fusionne les deux informations, le résultat est que les participants sont dupliqués autant de fois qu'il y a de formateurs.
Un petit schéma en PJ pour mieux comprendre.
Je me dis que si ce n'est pas possible, il va falloir que je fasse une macro qui construise un .odt à la volée... mais quel chantier !
D'où mon appel au secours
Voici un problème auquel je me heurte depuis quelques jours :
Je construis une Base (postgresql) destinée à être partagée par plusieurs utilisateurs qui devra gérer des formations dans laquelle, schématiquement, il y a un table "sessionDeFormation" principale liée d'une part à un table "informations" (numéro de formation, responsable...) d'autre part à une table "listeDesParticipants" et à une troisième table "listeDesFormateurs".
J'ai pas mal galéré mais grâce à de nombreux posts de ce forum, j'ai réussi à créer une base dans LibreOffice connectée à la postgresql, dans laquelle j'ai un formulaire avec listes déroulantes, sous-formulaires, etc qui permet d'afficher les données et les renseigner.
Je passe maintenant à la phase de création des rapports. Et c'est là que le bas blesse. J'ai beau jouer avec les regroupements, trafiquer la requête de départ, rien n'y fait.
J'ai su comment, sur un même rapport afficher la table des informations (qui changent selon l'identifiant de la session que je veux afficher) que je mets dans l'entête de page et la liste des participants que je mets dans le détail de la page. un peu comme dans mon formulaire où les informations sont dans le formulaire principal et la liste dans un sous-formulaire
Mais j'ai beau m'arracher mes derniers cheveux, je n'arrive pas à afficher la liste des formateurs (spécifique à chaque session).
J'ai bien essayé de faire une requête qui fusionne les deux informations, le résultat est que les participants sont dupliqués autant de fois qu'il y a de formateurs.
Un petit schéma en PJ pour mieux comprendre.
Je me dis que si ce n'est pas possible, il va falloir que je fasse une macro qui construise un .odt à la volée... mais quel chantier !
D'où mon appel au secours
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.3.7.2
Ubuntu MATE (64) 22.04.2 LTS
Ubuntu MATE (64) 22.04.2 LTS
-
- IdOOle de la suite
- Messages : 25171
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: Plusieurs grilles dans un même rapport ?
Salut,
Cassons le cou aux idées reçues : une macro ne sert à rien si le modèle relationnel est incorrect.
Ce qui est ton cas.
Un formateur peut très bien suivre une formation.
Il faut donc une table plus générale pour les personnes.
Il manque les tables intermédiaires qui vont caractériser les relations.
Exemple : une formation peut être suivie par 0 ou n personne(s).
Et comme toujours, enrichir plutôt que de réinventer.
Un projet du même type : [Base] Activités et gestion d'un centre de formation
Cassons le cou aux idées reçues : une macro ne sert à rien si le modèle relationnel est incorrect.
Ce qui est ton cas.
Un formateur peut très bien suivre une formation.
Il faut donc une table plus générale pour les personnes.
Il manque les tables intermédiaires qui vont caractériser les relations.
Exemple : une formation peut être suivie par 0 ou n personne(s).
Et comme toujours, enrichir plutôt que de réinventer.
Un projet du même type : [Base] Activités et gestion d'un centre de formation
-
- NOOuvel adepte
- Messages : 10
- Inscription : 13 mai 2007 14:07
Re: Plusieurs grilles dans un même rapport ?
Bonjour et merci de vous intéresser à mon problème.
Je vais regarder le fil que vous me proposez mais cependant, je pense que ma description du problème était trop simple, car j'ai bien prévu les fameuses tables intermédiaires.
Voici donc le schéma exact de ma base.
Elle est de la forme arborescente sauf la table "formateurs" qui me sert à la fois à stocker les formateurs et les responsables de formation qui peuvent être les deux à la fois. Mais je ne pense pas que le problème vienne de là. De plus, je n'envisage pas que les formateurs puissent être stagiaires dans d'autres formations et surtout que dans mon rapport, ils ne doivent pas apparaitre avec les stagiaires mais dans une autre zone.
Voici le rapport tel qu'il est aujourd'hui avec la place pour lister les formateurs... Voilà pourquoi mon problème semble se résumer à : comment intégrer dans un même rapport deux tables liées entre elles par une table intermédiaire :
<table formateurs > n--------1 < (idFormateur) Table session (idListe)> 1----------n <Table liste>
J'espère avoir été plus précis cette fois.
Je vais regarder le fil que vous me proposez mais cependant, je pense que ma description du problème était trop simple, car j'ai bien prévu les fameuses tables intermédiaires.
Voici donc le schéma exact de ma base.
Elle est de la forme arborescente sauf la table "formateurs" qui me sert à la fois à stocker les formateurs et les responsables de formation qui peuvent être les deux à la fois. Mais je ne pense pas que le problème vienne de là. De plus, je n'envisage pas que les formateurs puissent être stagiaires dans d'autres formations et surtout que dans mon rapport, ils ne doivent pas apparaitre avec les stagiaires mais dans une autre zone.
Voici le rapport tel qu'il est aujourd'hui avec la place pour lister les formateurs... Voilà pourquoi mon problème semble se résumer à : comment intégrer dans un même rapport deux tables liées entre elles par une table intermédiaire :
<table formateurs > n--------1 < (idFormateur) Table session (idListe)> 1----------n <Table liste>
J'espère avoir été plus précis cette fois.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.3.7.2
Ubuntu MATE (64) 22.04.2 LTS
Ubuntu MATE (64) 22.04.2 LTS
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Plusieurs grilles dans un même rapport ?
Bonjour,
En général, cela se fait dans un Rapport construit sur une Requête en paramétrant les Groupements.mcarluec a écrit :comment intégrer dans un même rapport deux tables liées entre elles par une table intermédiaire
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- NOOuvel adepte
- Messages : 10
- Inscription : 13 mai 2007 14:07
Re: Plusieurs grilles dans un même rapport ?
Tout d'abord, merci de vous pencher sur mon problème.
Ma requête : Ma requête récupère les champs de la table session, liés aux sous-tables correspondant à des liste déroulantes (modules, dispositifs, lieux de formation, etc).
Elle récupère les champs de la table "liste" ainsi que ses "subordonnées".
Si je n'inclue pas la table "LesFormateurs", pas de souci. Si je l'inclue et qu'il n'y a qu'un formateur, pas de souci non plus. C'est quand il y en a deux que ça ne va pas.
Tous les champs liste sont dupliqués autant de fois qu'il y a de formateurs. J'ai fait un groupement par session (pour avoir mes entêtes de description de la formation) et si je fais un groupement par formateur, j'obtiens la liste des stagiaires reproduite autant de fois qu'il y a de formateurs. Logique...
La solution que je verrai c'est d'avoir autant de champ que de formateurs (formateur1, formateur2, etc..) pour que tous les stagiaires n'aient qu'une entrée formateur.
Mais c'est pas bon du tout ça !
Oui, je me doute bien. Seulement, voilà, comment ?jeanmimi a écrit :En général, cela se fait dans un Rapport construit sur une Requête en paramétrant les Groupements.
Ma requête : Ma requête récupère les champs de la table session, liés aux sous-tables correspondant à des liste déroulantes (modules, dispositifs, lieux de formation, etc).
Elle récupère les champs de la table "liste" ainsi que ses "subordonnées".
Si je n'inclue pas la table "LesFormateurs", pas de souci. Si je l'inclue et qu'il n'y a qu'un formateur, pas de souci non plus. C'est quand il y en a deux que ça ne va pas.
Tous les champs liste sont dupliqués autant de fois qu'il y a de formateurs. J'ai fait un groupement par session (pour avoir mes entêtes de description de la formation) et si je fais un groupement par formateur, j'obtiens la liste des stagiaires reproduite autant de fois qu'il y a de formateurs. Logique...
La solution que je verrai c'est d'avoir autant de champ que de formateurs (formateur1, formateur2, etc..) pour que tous les stagiaires n'aient qu'une entrée formateur.
Mais c'est pas bon du tout ça !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.3.7.2
Ubuntu MATE (64) 22.04.2 LTS
Ubuntu MATE (64) 22.04.2 LTS
-
- Membre OOrganisé
- Messages : 59
- Inscription : 27 juil. 2016 07:20
Re: Plusieurs grilles dans un même rapport ?
Bonjour
Peux tu partager ta base que l'on puisse tester la requête.
Merci
Peux tu partager ta base que l'on puisse tester la requête.
Merci
Libreoffice version 5.2.7.2
Linux Debian 9.3
Linux Debian 9.3
-
- NOOuvel adepte
- Messages : 10
- Inscription : 13 mai 2007 14:07
Re: Plusieurs grilles dans un même rapport ?
Bonjour,
Ne réussissant pas à résoudre mon problème de façon séduisante, je me suis résolu à créer deux rapports. Un pour avoir ma liste de stagiaires et un autre pour avoir ma liste de formateurs. Les deux avec le même entête.
Je fusionne ensuite les deux pdf obtenus avec un petit logiciel (PDF-Shuffler sur Linux) pour n'obtenir qu'un seul document diffusable. Ça fait beaucoup de clics mais tant pis. Ma base doit être opérationnelle très vite.
Pour ce qui est ce ce fil de discussion, je n'ose y ajouter la balise [Résolu]. N'y aurait-il pas plutôt une balise [Abandonné] ?
En tout cas un grand merci à ceux qui se sont penché sur mon problème même si je n'ai pas vraiment abouti.
Bien à vous
Ne réussissant pas à résoudre mon problème de façon séduisante, je me suis résolu à créer deux rapports. Un pour avoir ma liste de stagiaires et un autre pour avoir ma liste de formateurs. Les deux avec le même entête.
Je fusionne ensuite les deux pdf obtenus avec un petit logiciel (PDF-Shuffler sur Linux) pour n'obtenir qu'un seul document diffusable. Ça fait beaucoup de clics mais tant pis. Ma base doit être opérationnelle très vite.
Pour ce qui est ce ce fil de discussion, je n'ose y ajouter la balise [Résolu]. N'y aurait-il pas plutôt une balise [Abandonné] ?
En tout cas un grand merci à ceux qui se sont penché sur mon problème même si je n'ai pas vraiment abouti.
Bien à vous
LibreOffice 7.3.7.2
Ubuntu MATE (64) 22.04.2 LTS
Ubuntu MATE (64) 22.04.2 LTS
-
- RespOOnsable forum
- Messages : 9251
- Inscription : 28 août 2010 08:45
Re: Plusieurs grilles dans un même rapport ?
Bonjour,
Dans la mesure où vous avez une solution satisfaisante permettant de clore le sujet, veuillez baliser [Résolu]. comment faire
Cordialement
Dans la mesure où vous avez une solution satisfaisante permettant de clore le sujet, veuillez baliser [Résolu]. comment faire
Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- IdOOle de la suite
- Messages : 25171
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: Plusieurs grilles dans un même rapport ?
Bis repetitae :mcarluec a écrit :Ne réussissant pas à résoudre mon problème de façon séduisante, je me suis résolu à créer deux rapports. Un pour avoir ma liste de stagiaires et un autre pour avoir ma liste de formateurs.
Ton modèle relationnel étant bancale, il est donc normal que tu n'arrives pas à tes fins.Dès le début, il y a écrit :Un formateur peut très bien suivre une formation.
Il faut donc une table plus générale pour les personnes.
-
- NOOuvel adepte
- Messages : 10
- Inscription : 13 mai 2007 14:07
Re: Plusieurs grilles dans un même rapport ?
Oui, j'avais bien lu ton message.
Mais je ne vois pas comment, en ayant les stagiaires et les formateurs dans la même table, distinguer les formateurs de la session des stagiaires de cette même session.
Fait que je réfléchisse encore.
En attendant, ma "solution" bancale me permet de travailler.
Quand j'aurai un peu de temps, je reviendrai sur ta proposition.
Mais je ne vois pas comment, en ayant les stagiaires et les formateurs dans la même table, distinguer les formateurs de la session des stagiaires de cette même session.
Fait que je réfléchisse encore.
En attendant, ma "solution" bancale me permet de travailler.
Quand j'aurai un peu de temps, je reviendrai sur ta proposition.
LibreOffice 7.3.7.2
Ubuntu MATE (64) 22.04.2 LTS
Ubuntu MATE (64) 22.04.2 LTS