Bonjour,
je veux baser une listbox sur le résultat d'une analyse croisée (+ liens avec plusieurs tables).
Quand je fais ma requete et les liens directement dans mon analyse croisée, la listbox ne marche pas.
Je suis donc obligé de faire deux requetes:
la première: l'analyse croisée dans son format le plus simple, AVEC FILTRE (car je ne veux prendre que les colonnes pas vides de mon analyse croisée)
la seconde: j'utilise la requete numéro 1 et je fais mes liens avec les tables
Ca marche bien, sauf que je dois pouvoir, selon les sélections de mon formulaire, pouvoir modifier le filtre => VBA
je souhaite donc baser ma lstbox.rowsource sur une requete de requete. Et malheureusement n'ayant pas l'habitude du langage SQL je suis un tantinet bloqué
Requete 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TRANSFORM First([PARTICIPATION EVENEMENTS].EtatEvenement) AS PremierDeEtatEvenement SELECT PARTICIPANTS.IDSeminaire, PARTICIPANTS.IDParticipant, PARTICIPANTS.NomFamille, PARTICIPANTS.Prenom FROM Types_Evenement INNER JOIN (PARTICIPANTS INNER JOIN [PARTICIPATION EVENEMENTS] ON PARTICIPANTS.IDParticipant = [PARTICIPATION EVENEMENTS].IDParticipant) ON Types_Evenement.Id_Type_Evenement = [PARTICIPATION EVENEMENTS].Id_Type_Evenement WHERE (((PARTICIPANTS.IDSeminaire)=183)) ' <=== ici on voit le filtre GROUP BY PARTICIPANTS.IDSeminaire, PARTICIPANTS.IDParticipant, PARTICIPANTS.NomFamille, PARTICIPANTS.Prenom ORDER BY PARTICIPANTS.NomFamille, PARTICIPANTS.Prenom PIVOT Types_Evenement.Nom;
Requete 2 (qui utilise la requete 1 (rqy1)):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT PARTICIPANTS.NomFamille, PARTICIPANTS.Prenom, ETS.NomEtablissement, ETS.Cp, ETS.Ville, rqy1.* FROM ETS INNER JOIN (rqy1 INNER JOIN PARTICIPANTS ON rqy1.IDParticipant = PARTICIPANTS.IDParticipant) ON ETS.IDEtablissement = PARTICIPANTS.IDEtablissement;
comment faire pour n'avoir plus qu'une seule et meme requete SQL?
Autre possibilité: modifier par le code VBA la requete ACCESS même (soit le filtre); moins élégant je trouve et j'aimerai mieux gérer la partie langage SQL, mais si ça marche...
Merci
Partager