|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2010 Messages : 105 ![]() |
Bonsoir tous!
Je me permet de faire resurgir ce sujet http://www.developpez.net/forums/d94...s/#post5598424 puisque: 1 - il n'a pas été résolu; 2 - il ne date pas de trop longtp non plus; 3 - ben c'est qui m'intéresse fortement ce sujet: j'ai exactement le même problème que jollyjohn, à savoir: Comment récupérer dans une liste déroulante à choix multiples (source/contenu codé par vba) les éléments d'une autre liste déroulante à choix multiples (qui elle, est modifiable par l'utilisateur)? Merci d'avance à tous pour les idées! |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Le principe des listes dépendantes est le suivant : la sélection d'un item dans la liste provoque l'ouverture de la liste dépendante dont la source est restreinte aux valeurs égales à celle de la sélection dans la première liste. Pour ma part, je suis un adepte du sql pour ce qui est des sources de requêtes, listes.... Dans le cas d'une liste à choix multiple (zone de liste) la difficulté vient du fait que la construction de la source SQL de la seconde liste va devoir inclure le choix de toutes les valeurs choisies . Il faut falloir donc travailler un peu la chaine SQL avant de la passer comme source. Voici comment je vois les choses. Sur click d'un choix dans la liste Pour chaque item sélectionné dans la liste récupérer la valeur du choix créer la chaine SQL source de la seconde liste en concaténant son contenu avec " OR monchamp= valeurchoisie" une fois tous les item sélectionnés traités, supprimer le premier "OR" de la chaine sql Finir la chaine en ajoutant devant les informations de sélection, et derrière les informations de tri éventuels. A vous de jouer ! NE pas hésiter à regarder dans la FAQ sur les listes, il y a une mine d'information. Pierre |
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2010 Messages : 105 ![]() |
Bien le bonjour pier.antoine,
A vrai dire, j'avais déjà l'idée, je cherchais plutôt le code. Voici le mien pour l'instant: Code :
![]() A quoi cela est il du? Merci |
||
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2010 Messages : 105 ![]() |
Les progrès sont en cours:
Code :
Quelqu'un sait il pourquoi ne fonctionne pas? EDIT 2: en fait j'ai fini par comprendre que ma liste Liste1 n'était pas une listbox mais une combobox (je vois pas encore trop la différence mais bon). La propriété MultiSelect ne s'applique tout simplement pas aux combobox mais seulement aux listbox (c'était la réponse de l'article cité tout en haut!!!). Du coup, maintenant je cherche à transformer ma combobox en liste déroulante à choix multiple, comme celles que l'on défini dès la création d'une table (vous savez, avec les cases à cocher). Merci d'avance! |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Plusieurs choses. Je ne connais pas Access 2007, mais en version 2003, ni les zones de listes, ni les listes déroulantes ne comportent de case à cocher. Il est possible, je crois de faire ça avec des sous formulaire, mais je n'ai jamais essayé (il y a un tutoriel là dessus). Dans Access 2003, pour modifier la nature d'un contrôle faire ceci : -en mode création - sélectionner la liste déroulante - click droit - choisir "Remplacer par zone de liste". La différence entre les deux c'est que la combobox (ou liste modifiable) accepte que l'on tape du texte. Elle ressemble à une zone de texte d'ailleurs. Vous pouvez afficher la liste des items proposés, mais vous pouvez aussi saisir les premières lettres. Vous pouvez aussi gérer le cas où l'on saisit un item qui n'appartient pas à la liste, et donner la possibilité d'ajouter de nouvelles valeurs à cette liste. Par contre, dans une zone de liste, pas de tout ça. Vous devez choisir un des items proposés, point. Pierre |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2010 Messages : 105 ![]() |
Salut,
En fait ici, je parle de ceci: http://office.microsoft.com/global/i...ZA101555031033 j'ai exactement le même problème que dans ce fil là: http://www.access-programmers.co.uk/...d.php?t=184095 Apparemment, c'est que ma ListBox est en champ multivalué d'où la possibilité de choisir plusieurs valeurs dans la liste (nouveauté Access 2007). Donc pour revenir à mon problème: comment remplacer ce code:pour qu'il puisse s'appliquer à un champ multivalué de ListBox (spécificité Access 2007)??? Merci d'avance |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Désolé,
je ne maîtrise pas du tout Access 2007. Pierre |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com