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 :

comment faire ce regroupement particulier ds une liste déroulante?


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 34
    Points
    34
    Par défaut comment faire ce regroupement particulier ds une liste déroulante?
    Salut, voilà mon pb:
    J'ai une table principale "Liste_carte" contenat l'identifiant idCarte, une autre table "T_Themes" contenant l'identifiant idTheme, et un intitulé Theme. Sachant qu'une meme carte peut avoir plusieurs themes, il y a une table intermédiaire "TI_CartTheme"contenant idicarte et iditheme qui permet de les mettre en relation. jusque là ca va.

    Dans un formulaire de recherche,je fais une liste déroulante, où je met comme "Contenu": id_Carte et l'intitulé Thème en regroupement. Le pb est que si une carte à pour thème Agriculture et Eau par exmple, et si une autre a pour thème Eau aussi, la liste déroulante affichera Agriculture, Eau, Eau, et moi je ne veux Eau qu'une fois.

    voila c'est peut etre pas tres clair mais c'est pas évident à expliquer , merci à ceux qui peuvent m'aider
    je met le sql du contenu:
    SELECT Liste_Cartes.idCarte, T_Theme.Thème
    FROM T_Theme INNER JOIN (Liste_Cartes INNER JOIN TI_CartTheme ON Liste_Cartes.idCarte = TI_CartTheme.idicarte) ON T_Theme.idTheme = TI_CartTheme.iditheme
    GROUP BY Liste_Cartes.idCarte, T_Theme.Thème
    ORDER BY T_Theme.Thème;

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 522
    Points
    14 522
    Par défaut
    slt,

    peut-être bien :

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 34
    Points
    34
    Par défaut
    non select distinct marche pas!

  4. #4
    Membre régulier

    Inscrit en
    Août 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 102
    Points : 119
    Points
    119
    Par défaut
    Salut
    Tu peux expliquer exactement ce que tu veux afficher dans ta liste déroulante ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 34
    Points
    34
    Par défaut
    si par exemple:
    à carte 1 correspond deux thèmes Agriculture, Eau
    à carte2 correspond deux thèmes Eau, Energie
    à carte 3 correspond un thème Eau,

    dans la liste je veux une seule fois:
    -Agriculture
    -Eau
    -Energie

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 522
    Points
    14 522
    Par défaut
    je ne comprend pas pourquoi tu mets idCarte dans la liste.
    si tu supprimes les doublons sur les thèmes alors idCarte n'a plus de signification

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 34
    Points
    34
    Par défaut
    idCarte est nécessaire car c'est une liste déroulante qui sert lors d'une recherche multicritère (d'apres le tutoriel de cafeine), donc en fait, si je me base sur l'exemple precedent, lorsque je sélectionne le thème Eau dans la liste, j'ai à coté un cadre résultat qui m'indiquerai les 3 cartes, si je sélectionne Agriculture, j'ai seulement carte1, etc.
    En fait ce idCarte est repris par une fonction, mais il est caché visuellement dans ma liste

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 34
    Points
    34
    Par défaut
    désolé je reprendrai la discussion demain matin !!
    bonne soirée
    merci

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 34
    Points
    34
    Par défaut
    je suis revenu... mais tjrs avec ce pb!

  10. #10
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Salut yoyoo,

    Tu as bien dit que idCarte est un identifiant, donc, il est forcément unique ... non? J'imagine que les données sans regroupement (ou avec d'ailleurs) donne le résulat suivant:

    idCarte Thème
    1 Agriculture
    2 Eau
    3 Eau

    Comme tu as regroupé les champs idCarte et Thème, SQL sait faire la différence entre 2-Eau et 3-Eau et que ces deux lignes ne peuvent pas être regroupées: SQL ne regarde pas uniquement le champ Thème mais le champ idCarte aussi, tu lui as dit de le faire!

    Si tu veux absolument regrouper tous les thèmes, enlèves idCarte de la clause GROUP BY ainsi de la clause SELECT alors tu obtiens GROUP BY T_Thème.Thème et idem dans SELECT: inutile ainsi la longue instruction dans FROM car tu n'utiliseras qu'une seule table et c'est T_Thème.
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 34
    Points
    34
    Par défaut
    oui c'est ce que m'as dit hier arkham, mais le pb est que je suis obligé de gardé idCarte car ce champ est ensuite utilisé lors d'une fonction de recherche qui fait (devrait) en gros: si tu sélectionne un thème, ca affiche donc les idCartes associés (de manière invisible car colonne cachée), puis une fonction vient chercher ces idCArtes pour afficher ailleurs les enregistrements correspondants avec tous ses autres champs.
    Mais le pb reste qu'il s'affiche un thème pour un idCarte, on en revient tjrs au meme!
    ralalaa je me prend la tete sur ca depuis 2 jours

  12. #12
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Salut yoyoo,

    Si tu veux absolument n'avoir que
    Agriculture
    Eau
    Energie
    idCarte ne doit pas faire partie de ton SQL ou bien il ne doit pas être regroupé (sa présence devient inutile!).
    Ce que je te propose c'est mettre dans une liste à part les cartes et leurs idCartes, puis dans une autre les thèmes.
    Et pour ta recherche, tu utiliseras l'idCarte et le nom du thème.

    Pourquoi cette proposition? Si Eau ne s'affiche qu'une fois, alors que dans ta table il y trois cartes différentes qui s'y référent,
    alors il n'y a plus aucun moyen de savoir que le thème de quelle carte s'agit il. N'est-ce pas?
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

Discussions similaires

  1. Réponses: 10
    Dernier message: 18/01/2013, 15h44
  2. Réponses: 13
    Dernier message: 18/03/2010, 17h16
  3. Réponses: 1
    Dernier message: 10/10/2008, 17h23
  4. Réponses: 7
    Dernier message: 07/01/2008, 18h50
  5. Comment récupérer le texte sélectionné dans une liste déroulante ?
    Par Je-cherche-pfe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/09/2007, 21h35

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