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

Comment faire un tri sur liste déroulante ??

7 réponses
Avatar
News Groups
Bonjour,

J'ai un formaulaire contenant une liste déroulante [znl_ListeClient].
Une colonne de cette liste s'appelle "Nom du Client" et affiche les valeurs
de la colonne [ClientName] de la requête source.
Je voudrai, par le biais d'un bouton , pouvoir afficher les éléments de
cette colonne dans un ordre croissant ou décroissant suivant le choix.

Comment faire ?
Ya t'il une propriété équivalente à celles des formulaires du type :
"Filter" ou "OrderBy" ??

Merci de votre aide,
Thierry.

7 réponses

Avatar
Raymond [mvp]
Bonjour.

tu rajoutes ORDER BY table1.[Nom du Client] Desc, par exemple, dans la
clause select du contenu.
par le biais d'un bouton bascule, selon true/false tu changes le contenu de
la liste .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"News Groups" a écrit dans le message de
news:4146ab6a$0$30371$
Bonjour,

J'ai un formaulaire contenant une liste déroulante [znl_ListeClient].
Une colonne de cette liste s'appelle "Nom du Client" et affiche les
valeurs

de la colonne [ClientName] de la requête source.
Je voudrai, par le biais d'un bouton , pouvoir afficher les éléments de
cette colonne dans un ordre croissant ou décroissant suivant le choix.

Comment faire ?
Ya t'il une propriété équivalente à celles des formulaires du type :
"Filter" ou "OrderBy" ??

Merci de votre aide,
Thierry.




Avatar
Yann
Salut,
Tu mets en ordre décroissant dans la requête qui te
ramène tes données dans ta liste déroulante...

Puis ajoute ce code...

Private Sub AZ_Click()
Me.cat_partenaire.RowSource = Replace
(Me.cat_partenaire.RowSource, "DESC", "ASC")
Me.cat_partenaire.Requery
End Sub

Private Sub ZA_Click()
Me.cat_partenaire.RowSource = Replace
(Me.cat_partenaire.RowSource, "ASC", "DESC")
Me.cat_partenaire.Requery
End Sub

Bye
Yann

-----Message d'origine-----
Bonjour,

J'ai un formaulaire contenant une liste déroulante
[znl_ListeClient].

Une colonne de cette liste s'appelle "Nom du Client" et
affiche les valeurs

de la colonne [ClientName] de la requête source.
Je voudrai, par le biais d'un bouton , pouvoir afficher
les éléments de

cette colonne dans un ordre croissant ou décroissant
suivant le choix.


Comment faire ?
Ya t'il une propriété équivalente à celles des
formulaires du type :

"Filter" ou "OrderBy" ??

Merci de votre aide,
Thierry.


.



Avatar
News Groups
Ok pour la méthode et de vos réponse,
mais dans mon cas je suis connecté à SQL Server et je ne voudrais pas
executer à nouveau un appel de requête mais utiliser le jeu d'enregistrement
de la liste déjà chargé : il faudrait que seul le client traite la mise en
ordre croissant ou décroissant des données se trouvant dans mon jeu
d'enregistrement et non faire appel au serveur .

Avez vous une idée ?

Merci encore.
Thierry

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

tu rajoutes ORDER BY table1.[Nom du Client] Desc, par exemple, dans la
clause select du contenu.
par le biais d'un bouton bascule, selon true/false tu changes le contenu
de

la liste .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"News Groups" a écrit dans le message de
news:4146ab6a$0$30371$
Bonjour,

J'ai un formaulaire contenant une liste déroulante [znl_ListeClient].
Une colonne de cette liste s'appelle "Nom du Client" et affiche les
valeurs

de la colonne [ClientName] de la requête source.
Je voudrai, par le biais d'un bouton , pouvoir afficher les éléments de
cette colonne dans un ordre croissant ou décroissant suivant le choix.

Comment faire ?
Ya t'il une propriété équivalente à celles des formulaires du type :
"Filter" ou "OrderBy" ??

Merci de votre aide,
Thierry.








Avatar
News Groups
Merci du tuyau, mais je me suis mal expliqué :
Cf post envoyé à la suite de la réponse de Raymond..

Merci de ton aide,
Thierry.
"Yann" a écrit dans le message de news:
1b8b01c49a3b$cb51f330$
Salut,
Tu mets en ordre décroissant dans la requête qui te
ramène tes données dans ta liste déroulante...

Puis ajoute ce code...

Private Sub AZ_Click()
Me.cat_partenaire.RowSource = Replace
(Me.cat_partenaire.RowSource, "DESC", "ASC")
Me.cat_partenaire.Requery
End Sub

Private Sub ZA_Click()
Me.cat_partenaire.RowSource = Replace
(Me.cat_partenaire.RowSource, "ASC", "DESC")
Me.cat_partenaire.Requery
End Sub

Bye
Yann

-----Message d'origine-----
Bonjour,

J'ai un formaulaire contenant une liste déroulante
[znl_ListeClient].

Une colonne de cette liste s'appelle "Nom du Client" et
affiche les valeurs

de la colonne [ClientName] de la requête source.
Je voudrai, par le biais d'un bouton , pouvoir afficher
les éléments de

cette colonne dans un ordre croissant ou décroissant
suivant le choix.


Comment faire ?
Ya t'il une propriété équivalente à celles des
formulaires du type :

"Filter" ou "OrderBy" ??

Merci de votre aide,
Thierry.


.



Avatar
Raymond [mvp]
dans une liste modifiable, je ne vois pas.
regarde du coté des ListView.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"News Groups" a écrit dans le message de
news:4146d8bf$0$30372$
Ok pour la méthode et de vos réponse,
mais dans mon cas je suis connecté à SQL Server et je ne voudrais pas
executer à nouveau un appel de requête mais utiliser le jeu
d'enregistrement

de la liste déjà chargé : il faudrait que seul le client traite la mise en
ordre croissant ou décroissant des données se trouvant dans mon jeu
d'enregistrement et non faire appel au serveur .

Avez vous une idée ?

Merci encore.
Thierry



Avatar
Yann
Re-,
Je ne vois pas non plus... A moins de faire une table
temporaire qui est chargée à l'ouverture du formulaire
puis de faire la méthode .Requery sur cette table et la
détruite à sa fermeture ....

Bye
Yann

-----Message d'origine-----
dans une liste modifiable, je ne vois pas.
regarde du coté des ListView.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"News Groups" a écrit dans le
message de

news:4146d8bf$0$30372$
Ok pour la méthode et de vos réponse,
mais dans mon cas je suis connecté à SQL Server et je
ne voudrais pas


executer à nouveau un appel de requête mais utiliser
le jeu


d'enregistrement
de la liste déjà chargé : il faudrait que seul le
client traite la mise en


ordre croissant ou décroissant des données se trouvant
dans mon jeu


d'enregistrement et non faire appel au serveur .

Avez vous une idée ?

Merci encore.
Thierry




.




Avatar
News Groups
Merci de votre aide,
Si vous, vous ne voyez pas, je pense alors que je fais fausse route dans ma
méthode !
Je vais tout de même approfondir ou bien passer par une autre méthode,
je tiendrais tout le monde au courant de mes recherches et résultats
éventuels.

Merci encore,
Thierry.

"Yann" a écrit dans le message de news:
1cc501c49a52$ea9055e0$
Re-,
Je ne vois pas non plus... A moins de faire une table
temporaire qui est chargée à l'ouverture du formulaire
puis de faire la méthode .Requery sur cette table et la
détruite à sa fermeture ....

Bye
Yann

-----Message d'origine-----
dans une liste modifiable, je ne vois pas.
regarde du coté des ListView.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"News Groups" a écrit dans le
message de

news:4146d8bf$0$30372$
Ok pour la méthode et de vos réponse,
mais dans mon cas je suis connecté à SQL Server et je
ne voudrais pas


executer à nouveau un appel de requête mais utiliser
le jeu


d'enregistrement
de la liste déjà chargé : il faudrait que seul le
client traite la mise en


ordre croissant ou décroissant des données se trouvant
dans mon jeu


d'enregistrement et non faire appel au serveur .

Avez vous une idée ?

Merci encore.
Thierry




.