Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Contribuez
Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2007, 13h57   #1
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
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 :
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 :
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 :
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 :
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 12h36   #2
Membre habitué
 
Inscription : septembre 2005
Messages : 310
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : septembre 2005
Messages : 310
Points : 104
Points : 104
Bonjour à tous !!!

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

Bonne journée !
Merci
JeremieT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 13h03   #3
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 14h59   #4
Membre habitué
 
Inscription : septembre 2005
Messages : 310
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : septembre 2005
Messages : 310
Points : 104
Points : 104
Merci beaucoupppppppppppppppppp !!!
JeremieT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 00h08   #5
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 6
Points : 2
Points : 2
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...
futur95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 09h30   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 14h22   #7
Membre du Club
 
Johan
Webmaster
Inscription : mai 2008
Messages : 281
Détails du profil
Informations personnelles :
Nom : Johan
Âge : 37

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : mai 2008
Messages : 281
Points : 56
Points : 56
génial, merci !
johanaquatique est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h31.


 
 
 
 
Partenaires

Hébergement Web