Probleme de tri dans une requete access - SQL/NoSQL - Programmation
Marsh Posté le 11-07-2002 à 11:35:27
tu peux donner un exemple des resultats que tu reçois ?
Marsh Posté le 11-07-2002 à 11:38:59
Par exemple
plan_code plan_ref not_lib
766 902051 T -
766 902051 E -
766 902051 D -
766 902051 C -
766 902051 A5 -
766 902051 A3 -
766 902051 A2 -
766 902051 A1 -
766 902051 A -
766 902051 B -
Et j'aimerais avoir :
A A1 A2 ... D E T
Franchement je comprends pas
Marsh Posté le 11-07-2002 à 11:42:54
ORDER BY asc (T_PLANS.plan_code, T_PLANS.plan_ref, T_NOTES.not_lib);
avec les () peut-être
asc comme ascending (du + petit au + grand)
Marsh Posté le 11-07-2002 à 11:48:30
Essaye de rajouter
Code :
|
dans ta requete.
Marsh Posté le 11-07-2002 à 11:49:22
Les () ca me fait planter access : plus moyen d'ouvrir la requete
Autres choses : ma requete affiche 1137 lignes ca ne peut pas etre lier ?
Marsh Posté le 11-07-2002 à 11:52:04
ORDER BY asc T_PLANS.plan_code, asc T_PLANS.plan_ref, asc T_NOTES.not_lib;
Marsh Posté le 11-07-2002 à 11:56:16
Le groupe by : il veut pas : je dois forcement mettre le note_lib dans l'agregat et la il ne me met plus que des Carrés
Sinon Si j'ajoute asc, il me dit qu'il y a une erreur de synthaxe dans le order by
Marsh Posté le 11-07-2002 à 11:56:46
ou alors
ORDER BY T_PLANS.plan_code, T_PLANS.plan_ref, T_NOTES.not_lib ASC;
Marsh Posté le 11-07-2002 à 11:59:48
lucie164 a écrit a écrit : Le groupe by : il veut pas : je dois forcement mettre le note_lib dans l'agregat et la il ne me met plus que des Carrés |
Tu m'étonnes le group by doit porter au moins sur tous les champs de la sélection, donc c'est normal que ça marche pas
Marsh Posté le 11-07-2002 à 12:01:15
ORDER BY T_PLANS.plan_code, T_PLANS.plan_ref, T_NOTES.not_lib ASC;
Je n'ai pas d'erreur avec cette synthaxe la mais mes champs ne sont not_lib ne sont pas dans l'ordre
Je n'ai vraiment plus aucune idée d'ou ca peut venir
Est ce que le type de données influence le tri alpha ?
Marsh Posté le 11-07-2002 à 12:03:47
Merci Thander, j'ai compris après l'avoir ecrit que je mettais une betise : Desolée ca fais vraiment longtemps que je n'ai plus travaillé sous access j'ai un peu de mal a m'y remettre
en fait apres le group by :
mon champ not_lib qui contient mon libelle : ne contient plus
que 2 Carrés
Marsh Posté le 11-07-2002 à 12:04:15
lucie164 a écrit a écrit : ORDER BY T_PLANS.plan_code, T_PLANS.plan_ref, T_NOTES.not_lib ASC; Je n'ai pas d'erreur avec cette synthaxe la mais mes champs ne sont not_lib ne sont pas dans l'ordre Je n'ai vraiment plus aucune idée d'ou ca peut venir Est ce que le type de données influence le tri alpha ? |
c'est quoi comme type de données ?
Marsh Posté le 11-07-2002 à 12:05:45
lucie164 a écrit a écrit : ORDER BY T_PLANS.plan_code, T_PLANS.plan_ref, T_NOTES.not_lib ASC; Je n'ai pas d'erreur avec cette synthaxe la mais mes champs ne sont not_lib ne sont pas dans l'ordre Je n'ai vraiment plus aucune idée d'ou ca peut venir Est ce que le type de données influence le tri alpha ? |
De toute façon, ton champ, il est de type "texte"
Sinon, essaie avec l'assistant, tu pourra voir le sql généré
Marsh Posté le 11-07-2002 à 12:06:55
c'est un type mémo : si je ne me trompe pas c'est comme du texte ?
Marsh Posté le 11-07-2002 à 12:10:23
lucie164 a écrit a écrit : c'est un type mémo : si je ne me trompe pas c'est comme du texte ? |
ça doit venir de là, je crois pas que tu puisse faire des tris sur les champs de type memo.
tu peux pas t'arranger avec un type texte standard ?
Marsh Posté le 11-07-2002 à 12:11:16
Aïe, les mémos, je crois que c'est pas fait pour être trié
Tu peux essayé de passer ton champ en type texte (copie ta base pour faire des essais dessus )
Marsh Posté le 11-07-2002 à 12:14:31
En fait, c'est un memo a cause de la longueur de texte a mettre dedans
je pense que c'est la raison de ce choix !!
En fait, je dois faire des modif sur une base que je n'ai pas developpé et pour laquelle les precedents developpeurs n'ont pas laissé de doc ou d'info
C'est grave la merde !!!
Marsh Posté le 11-07-2002 à 12:18:15
Avec un type texte ca marche !!!!
Merci beaucoup
Maintenant il ne me reste plus qu'a verifier s'il ne me manque pas des bouts de texte
Merci encore
Marsh Posté le 11-07-2002 à 12:19:53
lucie164 a écrit a écrit : Avec un type texte ca marche !!!! Merci beaucoup Maintenant il ne me reste plus qu'a verifier s'il ne me manque pas des bouts de texte Merci encore |
normallement, access t'avertit si des infos ont été perdues suite à une modification du type d'un champ.
Marsh Posté le 11-07-2002 à 12:23:47
lucie164 a écrit a écrit : En fait, je dois faire des modif sur une base que je n'ai pas developpé et pour laquelle les precedents developpeurs n'ont pas laissé de doc ou d'info C'est grave la merde !!! |
Oui, hélas, c'est souvent le cas
lucie164 a écrit a écrit : Merci beaucoup |
Mais, de rien, ça m'a permis de relancer access qui était en train d'hiberner sur mon ordi
lucie164 a écrit a écrit : Merci encore |
A+
Marsh Posté le 11-07-2002 à 11:32:46
Help je sais plus
Voila, mon probleme est pas tres compliqué mais j'avoue que je suis completement depassé :
Je dois selectionne des champs dans une table (jusque la ca va !!)
et les classé par ordre croissant selon plusieurs champs (jusque la ca va aussi !!)
Ca se gate quand je lance ma requete : les deux premiers classements sont ok mais le troisième n'est pas (toujours) par ordre alphabétique
la requete SQL que je lance :
SELECT T_PLANS.plan_code, T_PLANS.plan_ref, T_NOTES.not_lib, T_PLANS.plan_lib, T_PLANS.plan_datecrea, T_PLANS.plan_affaire
FROM T_PLANS INNER JOIN T_NOTES ON T_PLANS.plan_code = T_NOTES.not_plan
ORDER BY T_PLANS.plan_code, T_PLANS.plan_ref, T_NOTES.not_lib;
Lucie