SQL -> Ordre inversé a cause des TRI -> HELP !!!!!
cs_globule
Messages postés327Date d'inscriptionmardi 8 octobre 2002StatutMembreDernière intervention 6 octobre 2010
-
13 oct. 2005 à 11:23
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 2011
-
13 oct. 2005 à 14:08
Bonjour
J'ai une requete qui affiche 3 champ
Nom
Code
Ordre
Si je rajoute un tri dans ma requete (access, VB, ADO) sur le champ ordre alors que ce champ est vide la requete est renvoyé dans l'ordre inverse ! Ce que je ne veux pas car c'est une application utilisée par plusieurs centaines d'utilisateurs et cela aura un effet catastrophique. Comment me sortir de ce probleme ? (sans faire une moulinette sur les bases)
A noter que c'est la même chose si on rajoute un champ date avec des dates identiques : Si on tri sur le champ l'ordre est inversé, si on ne tri pas l'ordre et celui de l'archivage dans la base
A voir également:
SQL -> Ordre inversé a cause des TRI -> HELP !!!!!
cs_globule
Messages postés327Date d'inscriptionmardi 8 octobre 2002StatutMembreDernière intervention 6 octobre 2010 13 oct. 2005 à 11:44
A l'origine c'etait
select * from MATABLE where CODE =" & code
Maintenant c'est
select * from MATABLE where CODE =" & code & " order by ORDRE"
La 2eme requete est systematiquement renvoyé dans le sens inverse, même si le champ ordre ne contient aucune valeur (Alors que logiquement ca devrait etre l'ordre d'archivage dans la base)
Idem, si vous faites un tri sur un champ date identique, c'est retrourné dans le sens inverse
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 13 oct. 2005 à 11:51
En rajoutant un champ numéroauto dans ta base, toutes les lignes seront automatiquement chiffrées dans l'ordre où elles sont.
Comme ça à chaque nouvelle entrée, correspondra un nouveau numéro qui
s'incrémentera au fur et à mesure de l'ordre d'entrée de tes données
dans la base.
De ce fait, l'ordre sera conservé, pas besoin de date, ni de champ ordre...
Si tu veux toutefois faire par date, rajoute l'heure 13/10/05 11:46.
Ca évite d'avoir 2 dates identiques, il est plus difficile d'avoir 2 heures identiques...
Mais bon, je recommande fortement le numéroauto dans ton cas.
"C'est facile, c 'est pas cher, et ça peut rapporter gros!"
TBBUIM
Vous n’avez pas trouvé la réponse que vous recherchez ?
acecel
Messages postés140Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 octobre 2006 13 oct. 2005 à 12:08
En fait j'avais pas bien compris, comme l'on dit 55855 tbbuim1 et =35535 aieeeuuuuu il te faut un index (un NuméroAuto ou un Numero dont tu gère l'incrémentation toi même)
cs_globule
Messages postés327Date d'inscriptionmardi 8 octobre 2002StatutMembreDernière intervention 6 octobre 2010 13 oct. 2005 à 12:37
L'ajout d'un index en num auto ne m'aide pas beaucoup
Car effectivement ca fonctionne, mais si je rempli un champ ORDRE avec une valeur (et pas les autres), le reste des valeurs va être à nouveau inversé
select * from MATABLE where CODE =" & code & " order by ORDRE,CLE"
-> Fonctionne si ordre est vide
-> Si je rajoute une valeur dans ordre tous sera décalé