Bonjour,
J'ai (encore) un petit souci avec une de mes tables.
J'y affiche des utilisateurs et leurs caractéristiques. Leur métier, grade, spécialité, etc... sont chacun séparés dans des fichiers différents et un utilisateur a 0 ou 1 métier, 0 ou 1 grade et ainsi de suite.
Le problème est que quand je veux afficher une liste des agents, ceux qui n'ont par exemple aucune spécialité ou aucun grade ne s'affichent pas.
Quelqu'un voit-il où est le problème ? Ma requête intégrée pour l'initialisation de la table est la suivante :
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
44
45
46 SELECT Agent.matricule AS matricule, Agent.civilité AS civilité, Agent.nom AS nom, Agent.prénom AS prénom, Agent.dateNaissance AS dateNaissance, Agent.numTel AS numTel, Agent.Adresseemail AS Adresseemail, Agent.codeADELI AS codeADELI, Agent.codeRPPS AS codeRPPS, TypeCarte.libelle AS libelle, Grade.libelle AS libelle_Gr, Métier.libelle AS libelle_Mé, Pole.libelle AS libelle_Po, Service.libelle AS libelle_Se, Spécialité.libelle AS libelle_Sp, UF.libelle AS libelle_UF FROM Pole, Agent, Spécialité, Service, Grade, Métier, UF, Affectation, Carte, Commande, TypeCarte WHERE Agent.IDPole = Pole.IDPole AND Agent.IDSpécialité = Spécialité.IDSpécialité AND Agent.IDService = Service.IDService AND Agent.IDGrade = Grade.IDGrade AND Agent.IDMétier = Métier.IDMétier AND Agent.CodeUF = UF.CodeUF AND Affectation.IDAgent = Agent.IDAgent AND Affectation.IDCarte = Carte.IDCarte AND Carte.IDCommande = Commande.IDCommande AND Commande.IDTypeCarte = TypeCarte.IDTypeCarte AND ( Commande.IDCommande = {Param1} ) ORDER BY nom ASC
Un peu bourrin je sais en gros je lui demande d'afficher plusieurs caractéristiques de la table Agent (mes utilisateurs) ainsi que son métier, son grade, son UF, sa spécialité, son Pôle et son service quand les agents font partie de la commande donnée en paramètre.
Seuls les Agents qui ont un métier, un grade, un UF, un spécialité, un Pôle et un service (les 6 en même temps) s'affichent. Ceux qui n'ont pas l'une de scaractéristiques ci-dessus ne s'affichent pas.
J'ai essayé de contourner le problème en sélectionnant les clés étrangères de Agent désignant ces caractéristiques dans la table, puis de les modifier par programmation mais impossible d'afficher un résultat dans la cellule :
La requête REQ_testGrade :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 POUR TOUTE LIGNE DE TABLE_GestionCartes // GRADE sUngrade est une chaîne = COL_Matricule SI (HExécuteRequête(REQ_testGrade,hRequêteDéfaut, sUngrade) = Vrai) ALORS HLitPremier(REQ_testGrade) COL_IDGrade[MoiMême] = REQ_testGrade.libelle SINON TABLE_GestionCartes.COL_IDGrade[MoiMême] = "" FIN FIN
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT Grade.libelle AS libelle FROM Grade, Agent WHERE Agent.IDGrade = Grade.IDGrade AND ( Agent.matricule = {Param1} )
Si je fais un, il me donne bien la valeur que je voudrais dans la cellule, mais elle n'apparaît pas dans le table. Les TableAffiche() n'y changent rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Info("valeur affichée :" + COL_IDGrade[MoiMême]..ValeurAffichée)
Voilà mon problème, désolé du post assez long mais ça fait un bon moment que je bloque là dessus et j'espère beaucoup pouvoir trouver de l'aide.
Si vous avez des questions (mon explication est peut-être un peu brouillon ), n'hésitez pas !
Merci d'avance,
Aenur.
Partager