Order by

toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010 - 9 mai 2006 à 13:59
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 11 mai 2006 à 18:00
Salut a tous. J'affiche dans une listbox une trame constituée de 4 variables. Je voudrai pouvoir trier par ordre alphabétique ma premiere variable (FAMILLE). J'ai essayé la commande SORTED mais cela ne fonctionne pas, cela est surement du au nombre de 4 variables associés. J'ai pensé utiliser ORDER BY mais je ne connais pas la démarche ni la syntaxe. Je n'ai rien trouvé sur le forum c' est pour cela que je lance un appel!

7 réponses

Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010
9 mai 2006 à 18:50
Salut !

On imagine une table qui s'appel LaTable ;)

Elle est composé de ça :

Id<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />,
Titre,
Année,
----

1,
Titre 4,
1997,
----

2,
Titre 3,
1994,
----

3,
Titre 6,
1992,
----

4,
Titre1,
1997,
----

5,
Titre 2,
1995,
----

6,
Titre 5,
1997

La requette :
"SELECT * FROM LaTable where Année=1997 ORDER BY Titre"

Le resultat sera le suivant :

Titre 1
Titre 4
Titre 5

Je c'est pas si c compréhensible, si tu veut un peut plus d'aide donne moi le contexte dans laquelle tu veut utiliser ca ;)

Clad
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 mai 2006 à 22:38
salut toosdu97, salut Clad49 (çà fait un moment ^^),

en ajout à l'explication de Clad :
ORDER BY Nom_De_Ta_Colonne PARAMETRE

par défaut le paramètre est ASC
ASC = du plus petit au plus grand (ascendant)
DESC = du plus grand au plus petit (descendant)

++
PCPT [AFCK]
0
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010
9 mai 2006 à 22:55
hihi salut PCPT ! (j'ai abandonnée mon projet... )

Effectivement j'ai oublié de parler de celà !
Ce paramettre n'est pas obligatoir emais peut être utile ;)

Clad
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
10 mai 2006 à 08:18
Deja merci beaucoup car ca m'éclaire pas mal. Dans mon cas je construit une trame constitué de 4 variables de ce type:
Trame = FAMILLE + ID + REF + VERSION
J'affiche en suite au fur et à mesures ma trame dans une listebox, le nombre est variable. Pour faciliter la lecture j'aurai voulu q'une fois mes trames affichés, lorsque je clique sur un label "FAMILLE", j'effectue un tri par famille. Ca vous semble possible? Encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
11 mai 2006 à 17:35
Salut 737476 toosdu87, salut =144576 Clad49, salut 401740 PCPT,

je remonte, je remonte (page 7 en ce moment).
=737476 toosdu87, oui, mais tu n'as pas chosis le plus facile.

Dans le cas du ListBox, tu as tout dans une colonne, et concaténé. Donc, pas d'autre choix que d'avoir une intéraction via un ou plusieurs autres contrôles (tu penses au Label, mais il y a aussi, mieux, les cases à cocher [CheckBox] ou les cases d'options [OptionButton]), de reconstruire la requête, de la ré-exécuter, et de remplir à nouveau la ListBox.

Mais,

un autre composant, le MSComctllLib.ListView (qui se trouve dans le composant Microsoft Windows Common Controls 5.0, 6.0), te permettrait de gérer des vraies colonnes dans la liste. De plus, il intègre des entêtes de colonnes (des vraies aussi), et te permets, lorsque l'utilisateur les clique, de changer l'ordre de tri, et la colonne source du tri (comme dans l'explorateur Windows). Et pour le développeur, 4 lignes de codes pour gérer ça.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 mai 2006 à 17:47
salut rvblog (voui remonte, prend ton temps ^^),
c'est parce qu'il existe des composants que je n'ai pas donné suite.
par contre j'ai un doute concernant un code si facile (4 lignes) pour trier...
cela dit il existe pas mal de fonctions dispo et prêtes à l'emploi sur VbF

++
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
11 mai 2006 à 18:00
Re 401740 PCPT,

si je te jures (enfin, dans l'exemple ci-dessous, pas 4, mais 3, mais ce n'est qu'un exemple [qui d'ailleurs ne marche pas très bien me rappelle-je, mais il n'y a pas grand chose à modifier, un index tout au plus, dans la partie MSDN de l'exemple :)]), tout droit sorti du MSDN (même pas modifié, mais utilisé mille fois, et un peu colorisé, très peu) :

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
' Quand vous cliquez sur un objet ColumnHeader, le contrôle
' ListView est trié selon les sous-éléments de cette colonne.
' Affecte à la propriété SortKey l'index de ColumnHeader - 1
ListView1.SortKey = ColumnHeader.Index - 1
' Affecte à la propriété Sorted la valeur True afin de trier la
' liste.
ListView1.Sorted = True
End Sub

et je rajoute :

ListView1.SortOrder = LvwAscending ou LvwDescending, avec un bon petit flag, tu cliques, il trie ascendant, tu re-cliques, il trie descendant.

sinon =737476 toosdu87, PCPT a raison, il existe des tas d'exemples sur le site (on ne le dit jamais trop).

à+ (qu'est-ce qu'il y a comme courant, ici :) )


rvblogn le saumon<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
Rejoignez-nous