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

Langage SQL Discussion :

[Access 2003] probleme de regroupement requete SQL


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Points : 7
    Points
    7
    Par défaut [Access 2003] probleme de regroupement requete SQL
    bonjour à tous,

    J'ai un souci pour regrouper mes resultats dans une zone de liste suite à une recherche multi-critères.

    J'ai déja exposé mon probleme dans la section access mais personne ne semble en mesure de m'aider. Peux-être ici?

    http://www.developpez.net/forums/sho...d.php?t=213105

    Merci par avance.

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    La solution passe sans doute par DISTINCT, n'hésite pas à nous donner la requête que tu as essayé avec DISTINCT et le message d'erreur obtenu STP.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    bonjour,

    j'ai essayé de rajouter le DISTINCT dans la ligne "SQL =" pas de message d'erreur mais aucun résultat de recherche ne s'affiche. Ca me parait logique car pour moi, ce n'est pas le bon endroit.


    Je pense qu'il faut que j'arrive à ajouter le DISTINCT sur cette ligne pour éviter les doublons.

    Me.lstResults.RowSource = SELECT SQL DISTINCT [N° Auto] FROM requete_rechmulti

    Là encore, j'ai essayé de le rajouter à la suite avec des "&" et sans, dans tous les sens. Pas de message d'erreur mais encore aucun résultat d'affiché.


    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
    Private Sub RefreshQuery()
     
    SQL = "SELECT [N° auto], [Titre Article], Date, [Nom Revue], AI, [Famille AI], Crop, [Famille Crop], Pest, [Famille Pest] FROM requete_rechmulti Where requete_rechmulti.[N° Auto] <>0 "
     
    If Not Me.chkCrop Then
    SQL = SQL & "And requete_rechmulti!Crop = '" & Me.cmbRechCrop & "' "
    End If
     
    If Not Me.chkAI Then
    SQL = SQL & "And requete_rechmulti!AI = '" & Me.cmbRechAI & "' "
    End If
     
    If Not Me.chkPest Then
    SQL = SQL & "And requete_rechmulti!Pest = '" & Me.cmbRechPest & "' "
    End If
     
    If Not Me.chkFamAI Then
    SQL = SQL & "And requete_rechmulti![Famille AI] = '" & Me.CmbRechfamAI & "' "
    End If
     
    If Not Me.chkFamCrop Then
    SQL = SQL & "And requete_rechmulti![Famille Crop] = '" & Me.cmbRechFamCrop & "' "
    End If
     
    If Not Me.chkFamPest Then
    SQL = SQL & "And requete_rechmulti![Famille Pest] = '" & Me.cmbRechFamPest & "' "
    End If
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    Me.lblStats.Caption = DCount("*", "requete_rechmulti", SQLWhere) & " / " & DCount("*", "requete_rechmulti")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
    Merci d'avance pour votre aide, j'espere avoir été claire, mais j'ai essayé tellement de combinaisons différentes que ce n'est pas facile de s'y retrouver!

  4. #4
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Salut,

    Merci de tenir compte des CONSEILS... à lire AVANT de POSTER SVP

    En bref, je préfererai des requêtes "SQL" à de la concaténation conditionnelles de diverses chaînes de caractères pouvant conduire à des résultats divers et variés.

    le mot-clé DISTINCT s'utilise ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT Champ1, Champ2, Champ3
      FROM MaTable
     WHERE ...
    Et il permet d'éliminer les enregistrements identiques (selon la liste de champs précisée derrière le DISTINCT) dans le résultat de la requête.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Xo
    Salut,

    Merci de tenir compte des CONSEILS... à lire AVANT de POSTER SVP

    En bref, je préfererai des requêtes "SQL" à de la concaténation conditionnelles de diverses chaînes de caractères pouvant conduire à des résultats divers et variés.

    le mot-clé DISTINCT s'utilise ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT Champ1, Champ2, Champ3
      FROM MaTable
     WHERE ...
    Et il permet d'éliminer les enregistrements identiques (selon la liste de champs précisée derrière le DISTINCT) dans le résultat de la requête.

    oups autant pour moi.

    Le probleme, c'est que je voudrai que le DISTINCT ne s'applique que pour l'affichage de mes résultats et non pas pour la requête, sinon cela me fausse tous mes résultats. En gros, je veux qu'il recherche tous les enregistrements mais ne me les affiche qu'une fois.

    Très honnetement, je n'y connais absolument rien en SQL et pour effectuer ma recherche à critères multiples, je n'ai fait que recopier "bêtement" le tutoriel trouvé sur cafeine.com...

    Je sens bien que le DISTINCT est la bonne fonction a appliquer mais après avoir passé 2 jours à la mettre dans tous les sens et à tous les emplacements possibles et imaginables dans mon petit esprit, ca n'a jamais fonctionné... il y a donc un truc que je ne saisis pas quelque part..!!!

Discussions similaires

  1. [Access 2003] Problème de requête SQL
    Par 973thom dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 25/08/2006, 09h54
  2. [Access 2003] Probleme avec une association reflexive
    Par softstar dans le forum Langage SQL
    Réponses: 7
    Dernier message: 17/08/2006, 13h43
  3. [Access 2003]Probleme type de donnée sur requete DELETE
    Par pottiez dans le forum Langage SQL
    Réponses: 12
    Dernier message: 09/08/2006, 09h39
  4. Probleme ASP et requete SQL
    Par alhc2666 dans le forum ASP
    Réponses: 2
    Dernier message: 15/03/2006, 22h04
  5. probleme avec creation requete sql server
    Par Firas_tn dans le forum MS SQL Server
    Réponses: 19
    Dernier message: 15/04/2005, 12h12

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