Bonsoir à toutes et à tous,
Je viens de passer de la version 5.5 à la version 18, autant dire que je suis Cro-Magnon qui découvre l'électricité... J'en apprend tous les jours mais là, je sollicite votre aide (vu le temps que j'y ai passé...). J'espère arriver à expliquer clairement ce que je veux...
Je suis en train de créer un programme pour une association dont vous pouvez voir un bout de l'analyse en bas du message. Elle a un peu changé depuis mais rien d'important pour mon pb.
Comme marqué dans l'intitulé, je cherche à imprimer un "certificat" sous forme "d'état sur formulaire".
Pour résumé, j'ai besoin :
- Dans le fichier "soldat" et pour UN soldat précis de (je n'en cite que quelques-unes pour simplifier) : NOM, Matricule, Armée, DateDeces, emplacement
- Dans le fichier "Parrain" et pour UN parrain précis de (Idem, je n'en cite que quelques-unes pour simplifier) : NOM, Adresse, code postal, ville
- Dans le fichier "décorations" de toutes les décorations que possède le soldat sélectionné gràce au champ "NomDécoration".
Donc afin de selectionner LE soldat et LE parrain, dans ma requete, je met en plus de ce que je viens de citer l'IDSoldat sur lequel je met une sélection, par exemple : 23 ainsi que l'IDParrain sur lequel je met également une sélection par exemple : 8
La requete me donne un résultat satisfaisant, du genre : Je prend comme exemple un soldat qui possède 2 médailles, j'ai donc 2 lignes qui ressemblent à ça :
23, NOM, Matricule, Armée, DateDeces, emplacement, 8, NOM, Adresse, code postal, ville, décoration N°1
23, NOM, Matricule, Armée, DateDeces, emplacement, 8, NOM, Adresse, code postal, ville, décoration N°2
Les informations sont correctes mais quand je lance l'impression, il m'imprime autant de certificat qu'il y a de décorations alors que je veux UN certificat qui regroupe toutes les informations (notamment les décorations les unes en dessous des autres).
Je pense que je rédige mal ma requete mais j'avoue que je cale...
J'ai bien quelques idées en tête pour remédier au pb sans passer par une requete mais je pense que cela sera moins "propre" (passer par une table mémoire en "concaténant" les décorations, regrouper les décorations dans un champ mémo dans le fichier soldat (ça ne me plait pas trop) etc...
J'ai même essayer de "jouer" avec le "corps" du formulaire mais rien de convainquant (à cause du logo qui est en fond)...
J'ai même pensé que ça n'est pas possible via une requete et j'espère que non...
Voilà, si quelqu'un a une idée, je suis preneur... MERCI d'avance...
Pour info, voici le code de la requete :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 SELECT Décoration_Soldat.IDSoldat AS IDSoldat_Dé, Soldat.Nom AS Nom, Grades.NomGrade AS NomGrade, Armée.NomArmée AS NomArmée, Soldat.Matricule AS Matricule, Escadre.NomEscadre AS NomEscadre, Escadron.NomEscadron AS NomEscadron, EtatUS.NomEtat AS NomEtat, Soldat.DateDeces AS DateDeces, Soldat.Emplacement AS Emplacement, Parrain.IDParrain AS IDParrain, Parrain.Nom AS Nom_Pa, Parrain.Adresse AS Adresse, Parrain.Code_Postal AS Code_Postal, Parrain.Ville AS Ville, Décoration.NomDécoration AS NomDécoration FROM Décoration, Décoration_Soldat, Soldat, Grades, EtatUS, Escadre, Escadron, Armée, Parrain_Soldat, Parrain WHERE Parrain.IDParrain = Parrain_Soldat.IDParrain AND Soldat.IDSoldat = Parrain_Soldat.IDSoldat AND Armée.IDArmée = Soldat.IDArmée AND Escadron.IDEscadron = Soldat.IDEscadron AND Escadre.IDEscadre = Soldat.IDEscadre AND EtatUS.IDEtatUS = Soldat.IDEtatUS AND Grades.IDGrades = Soldat.IDGrades AND Soldat.IDSoldat = Décoration_Soldat.IDSoldat AND Décoration.IDDécoration = Décoration_Soldat.IDDécoration AND ( Parrain.IDParrain = {IdentifiantParrain} AND Décoration_Soldat.IDSoldat = {IdentifiantSoldat} )
Partager