Bonjour à tous et d'avance merci pour votre aide ô combien précieuse.
Voilà mon soucis....
Situation générale:
J'ai plusieurs prestations d'agents chez des clients....
Il arrive qu'un client recoive plusieurs prestations sur la meme semaine.
Il se peux que plusieurs agents se présentent chez le même client.
Rien de bien compliqué en somme.
Pour cela, j'ai 3 tables.
Table CALGEN qui recoit les infos des prestations à effectuer:
TS_CALGEN_NUM numéro d'odre
TS_CALGEN_AM Numéro de l'agent qui va effctuer la prestation (lien avec la table TS_AM)
TS_CALGEN_DATE Date de la prestation
TS_CALGEN_HEUREIN Heure de début de la prestation
TS_CALGEN_HEUREOUT Heure de fin de la prestation
TS_CALGEN_CLIENT Numéro du client (lien avec la table TS_CLIENT)
Table TS_CLIENT qui contient le signalétique du client
TS_CLIENT_NUM Numéro d'odre du client
TS_CLIENT_ADRESSE adresse du client
.....
Table TS_AM qui contient le signalétique de l'agent qui va prester
TS_AM_NUM Numéro d'odre de l'agent
TS_AM_NOM Nom de l'agent.
Voilà le décor est planté.
Je dois envoyer un avertissemnt aux clients leur mentionnant les dates auquelles il va recevoir des prestations et par qui elles vont être effctuées.
Je dois donc selectionner pour une tranche de date donnée.... toutes les prestations qui vont être effctuées....
Voici ma requete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT TS_CLIENT.TS_CLIENT_NOM, TS_CLIENT.TS_CLIENT_ADRESSE, TS_CALGEN.TS_CALGEN_DATE, TS_AM.TS_AM_NOM, TS_AM.TS_AM_PRENOM, TS_CALGEN.TS_CALGEN_HEUREIN, TS_CALGEN.TS_CALGEN_HEUREOUT FROM TS_AM INNER JOIN (TS_CLIENT INNER JOIN TS_CALGEN ON TS_CLIENT.TS_CLIENT_NUM = TS_CALGEN.TS_CALGEN_CLIENT) ON TS_AM.TS_AM_NUM = TS_CALGEN.TS_CALGEN_AM GROUP BY TS_CLIENT.TS_CLIENT_NOM, TS_CLIENT.TS_CLIENT_ADRESSE, TS_CALGEN.TS_CALGEN_DATE, TS_AM.TS_AM_NOM, TS_AM.TS_AM_PRENOM, TS_CALGEN.TS_CALGEN_HEUREIN, TS_CALGEN.TS_CALGEN_HEUREOUT HAVING (((TS_CALGEN.TS_CALGEN_DATE) Between [Formulaires]![TS_FR_am]![DateDU] And [Formulaires]![TS_FR_am]![DATEAU])) ORDER BY TS_CLIENT.TS_CLIENT_NOM;
Bon cela marche bien.... mais j'ai comme resultat pkusieurs lignes par clients.... forcément... comme suit:
CLIENT 1 PRESTATIONS 1 AGENT 1
CLIENT 1 PRESTATIONS 2 AGENT 1
CLIENT 2 PRESTATIONS 3 AGENT 1
CLIENT 2 PRESTATIONS 4 AGENT 1
CLIENT 3 PRESTATIONS 5 AGENT 2
Bon, maintenant, voici à quoi je veux arriver.... c'est là que cela se complique sérieusement pour moi![]()
CLIENT P1-PRESTATIONS P1-AGENT P2-PRESTATION P2-AGENT
CLIENT1 PRESTATION1 AGENT 1 PRESTATION 2 AGENT1
CLIENT2 PRESTATION3 AGENT1 PRESTATION4 AGENT1
Donc une seule ligne par client et obtenir les datas des prestations dans des champs relatifs à sa 1ere prestations, à sa deuxième, à sa troisième prestation (max 10 prestations par client....)
Comment puis-je arriver à ce résultat?
Je ne peux pas passer par un état car je dois l'expédier en fichier plat pour fusionner avec word.
Merci de votre aide.
PS: je fournis les aspirines pour les maux de crâne.... j'ai déjà mangé la moitié du tube.... mais il m'en reste encore![]()
Partager