Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

6 réponses
Avatar
fabien
Bonjour,

D=E9sol=E9 pour la question que je vais poser et qui =E0 d=E9ja =E9t=E9 pos=
=E9e des
diziane de fois mais malgr=E8 tous les post que j'ao pu laire je
n'arrive pas =E0 trouver mon bonheur.


J'ai un formulaire sur lequel sont bas=E9s des contr=F4les pour filtrer
les donn=E9es d'une requ=EAte qui sert =E0 la pr=E9sentation d'un =E9tat.

Un de ces contr=F4le est un liste de choix avec l'option multi s=E9lection
activ=E9.

Je n'arrive pas marlgr=E8 tous mes efforts =E0 r=E9cup=E9rer mes valeurs
s=E9lectionn=E9es dans la zone de liste.

Quelqu'un aurait il un exemple ou un petit bout de code qui pourrait
me permettre de r=E9cup=E9rer ces valeurs afin de filtrer les
enregistrements de ma requ=EAte.

Merci d'avance.

6 réponses

Avatar
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,

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

Avatar
fabien
On 4 avr, 11:24, ze Titi wrote:
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

Avatar
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.

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 wrote:
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


Avatar
fabien
On 4 avr, 11:43, ze Titi wrote:
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?






Avatar
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:

On 4 avr, 11:43, ze Titi wrote:
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


Avatar
fabien
On 4 avr, 12:12, ze Titi wrote:
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