[Résolu] Plusieurs grilles dans un même rapport ?

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

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.
Avatar de l’utilisateur
mcarluec
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 13 mai 2007 14:07

[Résolu] Plusieurs grilles dans un même rapport ?

Message par mcarluec »

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. 8)

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 :D :D
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
Avatar de l’utilisateur
Dude
IdOOle de la suite
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 ?

Message par Dude »

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
Avatar de l’utilisateur
mcarluec
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 13 mai 2007 14:07

Re: Plusieurs grilles dans un même rapport ?

Message par mcarluec »

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à.
Sélection_046.png
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...
Sélection_047.png
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
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
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 ?

Message par jeanmimi »

Bonjour,
mcarluec a écrit :comment intégrer dans un même rapport deux tables liées entre elles par une table intermédiaire
En général, cela se fait dans un Rapport construit sur une Requête en paramétrant les Groupements.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
mcarluec
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 13 mai 2007 14:07

Re: Plusieurs grilles dans un même rapport ?

Message par mcarluec »

Tout d'abord, merci de vous pencher sur mon problème.
jeanmimi a écrit :En général, cela se fait dans un Rapport construit sur une Requête en paramétrant les Groupements.
Oui, je me doute bien. Seulement, voilà, comment ?

Ma requête :
Requete.png
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.
Sélection_041.png
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
Jacou
Membre OOrganisé
Membre OOrganisé
Messages : 59
Inscription : 27 juil. 2016 07:20

Re: Plusieurs grilles dans un même rapport ?

Message par Jacou »

Bonjour

Peux tu partager ta base que l'on puisse tester la requête.

Merci
Libreoffice version 5.2.7.2
Linux Debian 9.3
Avatar de l’utilisateur
mcarluec
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 13 mai 2007 14:07

Re: Plusieurs grilles dans un même rapport ?

Message par mcarluec »

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
LibreOffice 7.3.7.2
Ubuntu MATE (64) 22.04.2 LTS
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9251
Inscription : 28 août 2010 08:45

Re: Plusieurs grilles dans un même rapport ?

Message par micmac »

Bonjour,

Dans la mesure où vous avez une solution satisfaisante permettant de clore le sujet, veuillez baliser Image[Résolu]. comment faire

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
Dude
IdOOle de la suite
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 ?

Message par Dude »

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.
Bis repetitae :
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.
Ton modèle relationnel étant bancale, il est donc normal que tu n'arrives pas à tes fins.
Avatar de l’utilisateur
mcarluec
NOOuvel adepte
NOOuvel adepte
Messages : 10
Inscription : 13 mai 2007 14:07

Re: Plusieurs grilles dans un même rapport ?

Message par mcarluec »

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.
LibreOffice 7.3.7.2
Ubuntu MATE (64) 22.04.2 LTS