IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Faire une requete de requete en SQL <= pb avec analyse croisée


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 54
    Points
    54
    Par défaut Faire une requete de requete en SQL <= pb avec analyse croisée
    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

  2. #2
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    je fais quelques tests sur des requetes simples:

    quand on fait des SELECT sur des requetes, on peut remplacer FROM maRequete par FROM (Code SQL de ma requete).

    Je m'attaque au cas des tables liées

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    je me sers de ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Dim loqd As QueryDef 
    Dim stSQL As String 
     
     
    Set loqd = CurrentDb.QueryDefs("nom_requete") 
    stSQL = "SELECT * from table1;" 
    loqd.SQL = stSQL 
    loqd.Close
    je peux ainsi modifier la requete 1 comme je veux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Faire une recherche dans un resultat SQL
    Par ronylicha dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/01/2011, 23h04
  2. Réponses: 0
    Dernier message: 26/10/2009, 16h51
  3. Comment faire une agrégation à la semaine en SQL ?
    Par KroForK dans le forum Langage SQL
    Réponses: 12
    Dernier message: 08/07/2008, 09h18
  4. [Tableaux] faire une sorte de requete COUNT() dans un array
    Par mdr_cedrick dans le forum Langage
    Réponses: 4
    Dernier message: 01/04/2008, 11h49
  5. [MySQL] Faire une recherche dans un tableau créer par mysql_fetch_array avec in_array
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 12/11/2007, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo