Tri Table Access via VB6 avec fonction SORT

Signaler
Messages postés
70
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
20 mars 2007
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonsoir

N'ayant pas réussi à trouver ce que je cherche, je vous pose donc ma problématique :

comment, via VB6, trier une table access (ordre croissant ou décroissant) sur un ou plusieurs champs de la table.

Un exemple de code serait le bienvenu.

Merci bcp !

11 réponses

Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir,

Décroissant
"SELECT MATABLE.chp1, MATABLE.chp2, MATABLE.chp3" _
& " FROM MATABLE ORDER BY MATABLE.chp1 DESC ," _ 
& " MATABLE.chp2 DESC , & " MATABLE.chp3 DESC;"

Pour croissant tu mets juste ORDRE BY .
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Pardon !
Rectifies :
& " MATABLE.chp2 DESC , MATABLE.chp3 DESC;"
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Pour être plus clair avec le tri croissant
"SELECT MATABLE.chp1, MATABLE.chp2, MATABLE.chp3" _
& " FROM MATABLE ORDER BY MATABLE.chp1," _ 
& " MATABLE.chp2 ,  MATABLE.chp3 ;"

Et je pense que tu peux combiner les deux.
J' ai jamais essayé, mais je crois que c' est possible.
Quoi qu' il en soit; essaies pour voir.

A+
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
croissant par défaut -> ASC
décroissant -> DESC

jamais essayé avec plusieurs champs (et j'ai un doute)
++

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
bONSOIR pcpt?
En fait c' est par défaut croissant.
Donc c' est pas la peine d' ajouter ASC.
C' est pourquoi je lui ai dit
Pour croissant tu mets juste ORDRE BY chp1, chp2, chp3
En plus je crois que ASC est yne fonction qui convertit en Ascii.
Mais moi ce que je n' ai pas essayé c' est
ORDRE BY chp1 DESC, chp2, chp3 DESC

A+
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
décroissant -> DESC
ça marche avec plusieurs c' est sûr !

Eh !
tu as vu le bonsoir PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
bonsoir chaibat05

par défaut en croissant, ce qui n'empêche pas d'informer de la syntaxe qui est ASC

ensuite ASC est aussi une fonction VB mais à part le nom, elle n'a rien à voir avec la commande SQL.
de plus elle ne convertie pas en ASCII mais retourne le code ASCII d'un Char

enfin tant qu'on est est... autant essayer.
donc en direct :

(testé manuellement dans access2000)
SELECT produit.nom, produit.prix, produit.etat
FROM produit
WHERE (((produit.nom)<>"N / A"))
ORDER BY produit.nom ASC, produit.prix DESC;

ma table est un peu bizarre donc pas facile de dire si le résultat est bon, mais la syntaxe est reconnue

++
PCPT   [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
(désolé pour les fautes )
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Tu veux rire avec ton désolé !
Tu pourras commettre autant de fautes
que tu veux mais tu n' en commetteras pas autant que moi

En fait , pour la requête, on n' a tout les deux raison sauf que

SELECT produit.nom, produit.prix, produit.etat
FROM produit
WHERE (((produit.nom)<>"N / A"))
ORDER BY produit.nom ASC, produit.prix DESC;

Essaies de créer la même requête manuellement dans Access,
choisis Croissant pour produit.nom et Decroissant pour produit.prix
 et cliques sur "Mode SQL", tu verras qu' il supprime le ASC et met juste
ORDER BY produit.nom , produit.prix DESC.

Pour :
^^de plus elle ne convertie pas en ASCII mais retourne le code ASCII d'un Char
 Quelle est la différence entre convertit en Ascii et retourne le code ASCII  ?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
dur dur !
j 'ai mis ASC pour préciser. mais j'ai indiqué (à 2 reprises) que c'était par défaut.
qui dit "par défaut" dit "argument facultatif"
ps: j 'étais en Mode SQL pour saisir ;)

convertir...
en exemple on peut considérer que le jus d'orange est la conversion de l'orange après avoir été pressée. pas facile de l'éplucher après....

là, ASC laisse intacte la variable.
exemple...
STR retourne une string
CSTR convertit en string

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
^^dur dur !
T' as rien vu encore

J' ai crée manuellement ...une requête.
//Mode SQL
   Il m' affiche
SELECT JOURNEES.Jour, JOURNEES.Mois
FROM JOURNEES
ORDER BY JOURNEES.Jour ASC, JOURNEES.Mois DESC;
J' ai fermé
J' ai réouvert
//Mode SQL
Il m' affiche
SELECT JOURNEES.Jour, JOURNEES.Mois
FROM JOURNEES
ORDER BY JOURNEES.Jour , JOURNEES.Mois DESC;

je suis d' accord il n' y a pas d' erreur quand on rajoute ASC.
C' est pour ça que j' ai dit qu' on est tout les deux dans "le vrai" .

Quand à ton jus d' orange, il ne m' as pas entièrement convaincu
même s' il est délicieux .
Disant que CSTR Convertit tout en retournant . Vu que c' est une fonction.
Comme ça on aura coupé la poire en deux

PS:
Laurent va prendre peur quand il verra
le nombre de réponses .
Si ça se trouve, c' est pas ça la question !


Désolé Lurent d' avoir pollué ton Topic.