j'utilise un recordset ADO pour je retourner des données déjà triées. Je
souhaite séparer les pairs des impairs (pour des adresses d'une rue) et les
trier en ordre croissant. Voilà le code du query SQL :
SQLPrint = "SELECT * FROM table ORDER BY Temp.Rue,Temp.NoCivique MOD 2 &
Temp.NoCivique, Temp.AptNum"
Les données sont dans un .mdb et NoCivique est stocké sour forme numérique.
Comme le modulo 2 d'un nombre pair donne 0, il les sépare des impairs et
ensuite les trie en ordre croissant.
Le résultat est étonnant :
------
Pairs : 100,108,118,84
Impairs : 125,73,77,81,85,93
------
Les données sont triées comme s'il s'agissait de strings (de gauche à
droite) et non comme des nombres (de droite à gauche).
Quelqu'un a une idée pourquoi ? Et surtout -comment- résoudre ce problème ?!?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Emmanuel DURAND
"Temp.NoCivique MOD 2 & Temp.NoCivique" est de type String donc 100 et avant 84, normal. Divise ton tri en 2 éléments.
"Jean-François" a écrit dans le message de news:
Bonjour à tous,
j'utilise un recordset ADO pour je retourner des données déjà triées. Je souhaite séparer les pairs des impairs (pour des adresses d'une rue) et
les
trier en ordre croissant. Voilà le code du query SQL :
SQLPrint = "SELECT * FROM table ORDER BY Temp.Rue,Temp.NoCivique MOD 2 & Temp.NoCivique, Temp.AptNum"
Les données sont dans un .mdb et NoCivique est stocké sour forme
numérique.
Comme le modulo 2 d'un nombre pair donne 0, il les sépare des impairs et ensuite les trie en ordre croissant. Le résultat est étonnant : ------ Pairs : 100,108,118,84 Impairs : 125,73,77,81,85,93 ------
Les données sont triées comme s'il s'agissait de strings (de gauche à droite) et non comme des nombres (de droite à gauche).
Quelqu'un a une idée pourquoi ? Et surtout -comment- résoudre ce problème
?!?
Merci,
JFH
"Temp.NoCivique MOD 2 & Temp.NoCivique" est de type String donc 100 et
avant 84, normal.
Divise ton tri en 2 éléments.
"Jean-François" <Jean-Franois@discussions.microsoft.com> a écrit dans le
message de news:32DB02A0-016F-4568-AE48-8A48B5F1EB71@microsoft.com...
Bonjour à tous,
j'utilise un recordset ADO pour je retourner des données déjà triées. Je
souhaite séparer les pairs des impairs (pour des adresses d'une rue) et
les
trier en ordre croissant. Voilà le code du query SQL :
SQLPrint = "SELECT * FROM table ORDER BY Temp.Rue,Temp.NoCivique MOD 2 &
Temp.NoCivique, Temp.AptNum"
Les données sont dans un .mdb et NoCivique est stocké sour forme
numérique.
Comme le modulo 2 d'un nombre pair donne 0, il les sépare des impairs et
ensuite les trie en ordre croissant.
Le résultat est étonnant :
------
Pairs : 100,108,118,84
Impairs : 125,73,77,81,85,93
------
Les données sont triées comme s'il s'agissait de strings (de gauche à
droite) et non comme des nombres (de droite à gauche).
Quelqu'un a une idée pourquoi ? Et surtout -comment- résoudre ce problème
"Temp.NoCivique MOD 2 & Temp.NoCivique" est de type String donc 100 et avant 84, normal. Divise ton tri en 2 éléments.
"Jean-François" a écrit dans le message de news:
Bonjour à tous,
j'utilise un recordset ADO pour je retourner des données déjà triées. Je souhaite séparer les pairs des impairs (pour des adresses d'une rue) et
les
trier en ordre croissant. Voilà le code du query SQL :
SQLPrint = "SELECT * FROM table ORDER BY Temp.Rue,Temp.NoCivique MOD 2 & Temp.NoCivique, Temp.AptNum"
Les données sont dans un .mdb et NoCivique est stocké sour forme
numérique.
Comme le modulo 2 d'un nombre pair donne 0, il les sépare des impairs et ensuite les trie en ordre croissant. Le résultat est étonnant : ------ Pairs : 100,108,118,84 Impairs : 125,73,77,81,85,93 ------
Les données sont triées comme s'il s'agissait de strings (de gauche à droite) et non comme des nombres (de droite à gauche).
Quelqu'un a une idée pourquoi ? Et surtout -comment- résoudre ce problème
?!?
Merci,
JFH
Pat Dev VB
Regarde la réponse de Jean-marc concernant les tris dans l'article suivant le tien.
"Jean-François" a écrit :
Bonjour à tous,
j'utilise un recordset ADO pour je retourner des données déjà triées. Je souhaite séparer les pairs des impairs (pour des adresses d'une rue) et les trier en ordre croissant. Voilà le code du query SQL :
SQLPrint = "SELECT * FROM table ORDER BY Temp.Rue,Temp.NoCivique MOD 2 & Temp.NoCivique, Temp.AptNum"
Les données sont dans un .mdb et NoCivique est stocké sour forme numérique.
Comme le modulo 2 d'un nombre pair donne 0, il les sépare des impairs et ensuite les trie en ordre croissant. Le résultat est étonnant : ------ Pairs : 100,108,118,84 Impairs : 125,73,77,81,85,93 ------
Les données sont triées comme s'il s'agissait de strings (de gauche à droite) et non comme des nombres (de droite à gauche).
Quelqu'un a une idée pourquoi ? Et surtout -comment- résoudre ce problème ?!?
Merci,
JFH
Regarde la réponse de Jean-marc concernant les tris dans l'article suivant le
tien.
"Jean-François" a écrit :
Bonjour à tous,
j'utilise un recordset ADO pour je retourner des données déjà triées. Je
souhaite séparer les pairs des impairs (pour des adresses d'une rue) et les
trier en ordre croissant. Voilà le code du query SQL :
SQLPrint = "SELECT * FROM table ORDER BY Temp.Rue,Temp.NoCivique MOD 2 &
Temp.NoCivique, Temp.AptNum"
Les données sont dans un .mdb et NoCivique est stocké sour forme numérique.
Comme le modulo 2 d'un nombre pair donne 0, il les sépare des impairs et
ensuite les trie en ordre croissant.
Le résultat est étonnant :
------
Pairs : 100,108,118,84
Impairs : 125,73,77,81,85,93
------
Les données sont triées comme s'il s'agissait de strings (de gauche à
droite) et non comme des nombres (de droite à gauche).
Quelqu'un a une idée pourquoi ? Et surtout -comment- résoudre ce problème ?!?
Regarde la réponse de Jean-marc concernant les tris dans l'article suivant le tien.
"Jean-François" a écrit :
Bonjour à tous,
j'utilise un recordset ADO pour je retourner des données déjà triées. Je souhaite séparer les pairs des impairs (pour des adresses d'une rue) et les trier en ordre croissant. Voilà le code du query SQL :
SQLPrint = "SELECT * FROM table ORDER BY Temp.Rue,Temp.NoCivique MOD 2 & Temp.NoCivique, Temp.AptNum"
Les données sont dans un .mdb et NoCivique est stocké sour forme numérique.
Comme le modulo 2 d'un nombre pair donne 0, il les sépare des impairs et ensuite les trie en ordre croissant. Le résultat est étonnant : ------ Pairs : 100,108,118,84 Impairs : 125,73,77,81,85,93 ------
Les données sont triées comme s'il s'agissait de strings (de gauche à droite) et non comme des nombres (de droite à gauche).
Quelqu'un a une idée pourquoi ? Et surtout -comment- résoudre ce problème ?!?