Utilisation des valeurs d'une liste de choix pour filtrer une requête

Le
fabien
Bonjour,

Désolé pour la question que je vais poser et qui à déja été pos=
ée des
diziane de fois mais malgrè tous les post que j'ao pu laire je
n'arrive pas à trouver mon bonheur.


J'ai un formulaire sur lequel sont basés des contrôles pour filtrer
les données d'une requête qui sert à la présentation d'un état.

Un de ces contrôle est un liste de choix avec l'option multi sélection
activé.

Je n'arrive pas marlgrè tous mes efforts à récupérer mes valeurs
sélectionnées dans la zone de liste.

Quelqu'un aurait il un exemple ou un petit bout de code qui pourrait
me permettre de récupérer ces valeurs afin de filtrer les
enregistrements de ma requête.

Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ze Titi
Le #6225651
Hello fabien !

Dim i As Variant
For Each i In taListe.ItemsSelected
uneVariable=taListe.ItemData(i)
Next

te permet de parcourir tous les éléments sélectionnés dans une liste

En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde tâche de taper sur ton clavier :
Bonjour,

Désolé pour la question que je vais poser et qui à déja été posée des
diziane de fois mais malgrè tous les post que j'ao pu laire je
n'arrive pas à trouver mon bonheur.


J'ai un formulaire sur lequel sont basés des contrôles pour filtrer
les données d'une requête qui sert à la présentation d'un état.

Un de ces contrôle est un liste de choix avec l'option multi sélection
activé.

Je n'arrive pas marlgrè tous mes efforts à récupérer mes valeurs
sélectionnées dans la zone de liste.

Quelqu'un aurait il un exemple ou un petit bout de code qui pourrait
me permettre de récupérer ces valeurs afin de filtrer les
enregistrements de ma requête.

Merci d'avance.


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

fabien
Le #6225631
On 4 avr, 11:24, ze Titi
Hello fabien !

Dim i As Variant
For Each i In taListe.ItemsSelected
uneVariable=taListe.ItemData(i)
Next

te permet de parcourir tous les éléments sélectionnés dans une li ste

En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde tâche de taper sur ton clavier :



Bonjour Ze Titi,

Et oui il faut une première fois à tout,

La boucle For Each permet d'afficher une par une les valeurs de ma
liste de choix mais je voudrais récupérer l'ensemble des valeurs
sélectionnées dans une seule variable qui permet de filtrer les
enregistrements de ma requête.

merci

ze Titi
Le #6225601
Une simple modification suffit:

Dim i As Variant, uneChaîne As String
uneChaîne=""
For Each i in taListe.ItemsSelected
uneChaîne=uneChaîne & taListe.ItemData(i) & ";"
Next

et uneChaîne contient la liste complète des éléments sélectionnés
séparés par des ";". Tu peux modifier ce code pour y inclure tes
éléments SQL pour créer ta requête correctement.

En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
On 4 avr, 11:24, ze Titi
Hello fabien !

Dim i As Variant
For Each i In taListe.ItemsSelected
uneVariable=taListe.ItemData(i)
Next

te permet de parcourir tous les éléments sélectionnés dans une liste

En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :



Bonjour Ze Titi,

Et oui il faut une première fois à tout,

La boucle For Each permet d'afficher une par une les valeurs de ma
liste de choix mais je voudrais récupérer l'ensemble des valeurs
sélectionnées dans une seule variable qui permet de filtrer les
enregistrements de ma requête.

merci


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info


fabien
Le #6225591
On 4 avr, 11:43, ze Titi
Une simple modification suffit:

Dim i As Variant, uneChaîne As String
uneChaîne=""
For Each i in taListe.ItemsSelected
uneChaîne=uneChaîne & taListe.ItemData(i) & ";"
Next

et uneChaîne contient la liste complète des éléments sélectionn és
séparés par des ";". Tu peux modifier ce code pour y inclure tes
éléments SQL pour créer ta requête correctement.




J'ai toujours un petit soucis, OK pour la liste des valeurs dans une
seule variable mais ma requête n'accepete pas la variable comme
critère de filtre.
J'ai un peu tout essayé une variable avec "ou" puis mes valeurs de
recherche avec ou sans guillement .... comme critère filtre.
J'ai lu sur un post que l'on pouvait utilisé "IN()" mais je n'ai pas
réussi à l'exploiter si tu as une réponse?






ze Titi
Le #6225581
Dim i As Variant, uneChaîne As String
uneChaîne=""
For Each i in taListe.ItemsSelected
uneChaîne=uneChaîne & "taTable.tonChamps='" & taListe.ItemData(i) & "' OR "
Next
uneChaîne=Left(uneChaîne,Len(uneChaîne)-4
taChaîneSQL="SELECT * FROM taTable WHERE (" & uneChaîne & ")"


En ce jour exceptionnel du mercredi 04/04/2007, tu nous as très généreusement gratifié du message suivant:

On 4 avr, 11:43, ze Titi
Une simple modification suffit:

Dim i As Variant, uneChaîne As String
uneChaîne=""
For Each i in taListe.ItemsSelected
uneChaîne=uneChaîne & taListe.ItemData(i) & ";"
Next

et uneChaîne contient la liste complète des éléments sélectionnés
séparés par des ";". Tu peux modifier ce code pour y inclure tes
éléments SQL pour créer ta requête correctement.




J'ai toujours un petit soucis, OK pour la liste des valeurs dans une
seule variable mais ma requête n'accepete pas la variable comme
critère de filtre.
J'ai un peu tout essayé une variable avec "ou" puis mes valeurs de
recherche avec ou sans guillement .... comme critère filtre.
J'ai lu sur un post que l'on pouvait utilisé "IN()" mais je n'ai pas
réussi à l'exploiter si tu as une réponse?


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info


fabien
Le #6225561
On 4 avr, 12:12, ze Titi
Dim i As Variant, uneChaîne As String
uneChaîne=""
For Each i in taListe.ItemsSelected
uneChaîne=uneChaîne & "taTable.tonChamps='" & taListe.ItemData( i) & "' OR "
Next
uneChaîne=Left(uneChaîne,Len(uneChaîne)-4
taChaîneSQL="SELECT * FROM taTable WHERE (" & uneChaîne & ")"

En ce jour exceptionnel du mercredi 04/04/2007, tu nous as très gén éreusement gratifié du message suivant:



YES enfin ....

merci bcp

voici mon code Final

Dim i As Variant, uneChaîne As String
uneChaîne = ""
For Each i In Me.Liste103.ItemsSelected
uneChaîne = uneChaîne & "Période='" & Me.Liste103.ItemData(i) & "'
OR "
Next
uneChaîne = Left(uneChaîne, Len(uneChaîne) - 4)

DoCmd.OpenReport "Commentaires", acViewPreview, , uneChaîne


Encore merci

Fabien

Publicité
Poster une réponse
Anonyme