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

Access Discussion :

Multi critère sur plusieurs tables


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Multi critère sur plusieurs tables
    salut,

    j'ai fais un formulaire mutli-critère qui fonctionne sur une table. J'ai ajouté d'autres contrôles à partir d'autres tables et modifier la lstresult (requête de résultat) en conséquence.
    Lors de l'ouverture de formulaire,la requête s'affiche bien mais quand je commence à choisir des critères, plus rien ne s'affiche dans la list box...

    Ci dessous le code de refrechquery qui met à jour la list box

    Code : 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
    47
    48
    49
    50
    51
     
    Private Sub RefreshQuery()
     
    Dim SQL As String
     
    SQL = "SELECT [Canal 2].NomCanal, [Canal 2].Moyenne, Classe.NumClasse, Classe.Nom, Date.Jour, Date.Mois, Date.Année, [Canal 2].[Type de données]" & _
    "FROM ([Date] INNER JOIN (Classe INNER JOIN [Canal 2] ON Classe.NumClasse=[Canal 2].RefClasse) ON Date.NumDate=[Canal 2].RefDate) INNER JOIN (Conditions INNER JOIN DétailDate ON Conditions.NumConditions=DétailDate.RefConditions) ON Date.NumDate=DétailDate.RefDate" & _
    "WHERE ((([Canal 2].NumCanal)<>0)) "
     
    If Not Me.ChkCanal Then
     
        SQL = SQL & "And [Canal 2].NomCanal = '" & Me.cmbRechCan & "' "
     
    End If
     
    If Not Me.ChkType Then
     
          SQL = SQL & "And [Canal 2].[Type de données] = '" & Me.cmbRechType & "' "
     
    End If
     
    If Not Me.ChkClasse Then
     
         SQL = SQL & "And [Classe].[NumClasse] = '" & Me.cmbRechCla & "' "
     
    End If
     
    If Not Me.chkMois Then
     
         SQL = SQL & "And [Date].[Mois] = '" & Me.cmbRechMois & "' "
     
    End If
     
    If Not Me.chkJour Then
     
         SQL = SQL & "And [Date].[Jour] = '" & Me.cmbRechJour & "' "
     
    End If
     
    If Not Me.chkAnnee Then
     
         SQL = SQL & "And [Date].[Annee] = '*" & Me.txtRechAnnee & "*' "
     
    End If
     
    SQL = SQL & ";"
     
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
    Merci

    Pierre

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    il faut passer au débogage du SQL

    debug.print SQL

    ou pour aller plus loin regarder mon tuto :

    http://cafeine.developpez.com/access...el/debugprint/

  3. #3
    Membre habitué Avatar de ariesnojf
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Points : 188
    Points
    188
    Par défaut
    Manque pas un (des) espace avant "FROM" et "WHERE" ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SQL = "SELECT [Canal 2].NomCanal, [Canal 2].Moyenne, Classe.NumClasse,
    Classe.Nom, Date.Jour, Date.Mois, Date.Année, 
    [Canal 2].[Type de données]" & _
    " FROM ([Date] INNER JOIN (Classe INNER JOIN [Canal 2] ON 
    Classe.NumClasse=[Canal 2].RefClasse) ON 
    Date.NumDate=[Canal 2].RefDate) INNER JOIN (Conditions INNER JOIN 
    DétailDate ON Conditions.NumConditions=DétailDate.RefConditions) ON 
    Date.NumDate=DétailDate.RefDate" & _
    " WHERE ((([Canal 2].NumCanal)<>0)) "
    au lieu de


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL = "SELECT [Canal 2].NomCanal, [Canal 2].Moyenne, Classe.NumClasse, 
    Classe.Nom, Date.Jour, Date.Mois, Date.Année, [Canal 2].[Type de données]" & _
    "FROM ([Date] INNER JOIN (Classe INNER JOIN [Canal 2] ON 
    Classe.NumClasse=[Canal 2].RefClasse) 
    ON Date.NumDate=[Canal 2].RefDate) INNER JOIN (Conditions INNER JOIN
     DétailDate ON Conditions.NumConditions=DétailDate.RefConditions) ON 
    Date.NumDate=DétailDate.RefDate" & _
    "WHERE ((([Canal 2].NumCanal)<>0)) "
    Sinon ==> debogage

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Si, très juste, c'est le genre de chose qui se voit bien au débogage ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Hey, j'avais commencé à voir le WHERE par le débogage et là je reviens faire un tour ici et on me confirme le truc....
    génial

    merci

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

Discussions similaires

  1. [AC-2010] Formulaire multi-critères sur plusieurs tables
    Par Ohjoke dans le forum Access
    Réponses: 2
    Dernier message: 24/11/2013, 13h07
  2. Recherche multi-critères sur plusieurs tables
    Par destinynova dans le forum IHM
    Réponses: 33
    Dernier message: 25/09/2013, 22h42
  3. Requette avec plusieurs critères sur plusieurs tables
    Par kha_yassine dans le forum Requêtes
    Réponses: 3
    Dernier message: 11/04/2008, 22h15
  4. Réponses: 7
    Dernier message: 04/04/2007, 16h34
  5. Réponses: 6
    Dernier message: 18/03/2007, 16h22

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