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

Contribuez Discussion :

[Debutant] Combo en Cascade [Sources]


Sujet :

Contribuez

  1. #1
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut [Debutant] Combo en Cascade
    Comment faire des listes déroulantes en cascade ?

    Dans l'exemple joint, une table, une requête et un formulaire.

    J'ai laissé Access choisir le noms à ma place ou presque.
    Table Main
    Id Autonumber
    Texte01 Texte
    Texte02 Texte
    Texte03 Texte
    Texte04 Texte
    Texte05 Texte

    Une requête
    Dans cette requête, pour faire simple, j'ai pris tous les champs de la table.

    Sur les quatre premiers champs texte, je met un critère lié aux combo du formulaire.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT tblMain.Id, tblMain.Texte01, tblMain.Texte02, tblMain.Texte03, tblMain.Texte04, tblMain.Texte05
    FROM tblMain
    WHERE (((tblMain.Texte01) Like [Forms]![frmComboCasc]![Combo0]) AND 
    ((tblMain.Texte02) Like [Forms]![frmComboCasc]![Combo2]) AND 
    ((tblMain.Texte03) Like [Forms]![frmComboCasc]![Combo4]) AND 
    ((tblMain.Texte04) Like [Forms]![frmComboCasc]![Combo6]));

    J'ai volontairement mis Like, puisque mes champs sont en texte.

    Lorsque mes combo seront remplis, la requête retournera les enregistrements qui correspondent aux critères.


    Le formulaire
    Simple aussi, quatre listes déroulantes, et une liste pour afficher les résultats de la requête.

    Les Listes déroulantes sont enchaînées en cascade.

    Le choix de la première, va conditionner le contenu de la seconde et ainsi de suite.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tblMain.Texte02 FROM tblMain GROUP BY tblMain.Texte02, tblMain.Texte01 HAVING (((tblMain.Texte01)=Forms!frmComboCasc!Combo0));

    Ce code se répercute sur chaque liste déroulante avec les références des listes qui changent.

    Pour rafraîchir le contenu des contrôles, un tout petit requery.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Combo0_AfterUpdate()
    Me.Combo2.Requery
    Me.Combo4.Requery
    Me.Combo6.Requery
    Me.List10.Requery
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Combo2_AfterUpdate()
    Me.Combo4.Requery
    Me.Combo6.Requery
    Me.List10.Requery
    End Sub
    La propriété valeur par défaut de chaque combo est "*". C'est pour cette raison que dans la requête, j'ai mis like à la place de =.

    Au global, chaque choix va modifier les combo qui se trouvent en aval.
    Et au final on aura dans la liste les enregistrements qui correspondent aux critères choisis.

    Les valeurs introduites dans la tables ont été mises de façon aléatoire.
    Toute ressemblance avec des données présentes dans une autre base de données et purement fortuite.

    Ceci devrait aider certaines personnes qui rencontrent des problèmes sur le tri simple de données.

    ftp://ftp-developpez.com/heureuxoli/...scadecombo.zip
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Bonjour à tous !!!

    Ca m'a l'air pas mal du tout ;-)
    Serait-il possible d'avoir un version en 97 ?

    Bonne journée !
    Merci

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Voilà en 97.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Merci beaucoupppppppppppppppppp !!!

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Salut la communauté!
    Premier post sur se site que je trouve tres sympa, mais première embuche: ou sont les fichiers joints ?! ^^ Premier post et deja première con##rie...

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Bonjour et bienvenue sur le forum de DVP, c'est moi qui ai fait la connerie, et je viens de m'en rendre compte.

    Je vais vite les refaire.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Mai 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2008
    Messages : 281
    Points : 89
    Points
    89
    Par défaut
    génial, merci !

Discussions similaires

  1. Combos en cascade - Code Postaux commençant par 0
    Par AsTN94 dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 31/05/2011, 13h41
  2. [XL-2003] 3 combo en cascades, la 3eme affiche seulement 10 noms
    Par Bernard67 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/06/2010, 16h45
  3. mise en pratique des Combo en cascade
    Par athos7776 dans le forum IHM
    Réponses: 13
    Dernier message: 11/06/2007, 22h38
  4. [debutant]suppression en cascade
    Par christophebmx dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 03/05/2005, 09h51

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