Trie croissant dans MsAccess

bibilafrayeur Messages postés 59 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007 - 15 avril 2004 à 17:01
bibilafrayeur Messages postés 59 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007 - 15 avril 2004 à 17:34
Bonjour à tous et merci de votre aide !!

J'ai une table qui contient des enregistrement (Nom et prénom) sur laquelle je fait un trie Croissant dans VB !

Jusque là tout se passe très bien. Mais pour les besoin de mon logiciel, je dois enregistrer 5 Nom et Prénom VIDE. Seulement le vide n'est pas très bien géré par VB alors à la place du vide je met un point "." car c'est un caractère assez discret pour mon datareport. J'obtient donc une table de ce genre :

--------------------------------------------
Nom Prénom Code_postal
Marais Claude 14000
Dupont Jean 14000
Martin David 14000
. . 14000
. . 14000
--------------------------------------------

Pour mon datareport, je désire afficher le contenu de la table avec un trie par ordre croissant (Order by Nom, prenom) MAIS que les champs qui contiennent un point "." soient obligatoirement DERNIER !!

Et bah je n'y arrive pas !!! Le plus fort c'est que même en prenant un caractère ASCI qui est censé être après le Z, comme "|" par exemple, et bien Access lui il me sort ces caractère bizarre en premier et ensuite il me fait le trie alphabétique des nom et prénom !! Terrible !!

Alors si quelqu'un à une solution je suis preneur. En gros je désire avoir un caractère discret sur le papier et qui apparait obligatoirement à la fin de ma requete trie croissant !!

2 réponses

cs_BiSi Messages postés 37 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 17 avril 2004
15 avril 2004 à 17:31
bonjour,

alors voilà, il y a bien une solution que j'ai en tête et qui relève plus du ""bricolage"" que d'une vrai prog bien propre.
Attention, c'est pour du code sous des modules vba dans access ou autre logiciel office éventuellement, mais je crois pas que la gestion du nz passe sous vb6.

Donc d'une part la gestion des nulls passe bien avec la commande "NZ(Variable,SubstitutionSiNull"

et donc ma requête bricolée ressemble à celà :

SELECT Table1.nom, Table1.prénom
FROM Table1
ORDER BY (nz([nom],"") & "ZZZZZZZZZZ");


Bref, le tri se fait sur le nom suivi de Z et les ligne qui sont nulles sont donc traitées comme = "ZZZZZ..." et passe à la fin.
J'ai testé pour voir et le pire c'est que ca marche. Biensur là, ca se fait avec les noms à null et non plus remplacé par des caractères spéciaux.

bon courage

.oO( BiSi )Oo.
0
bibilafrayeur Messages postés 59 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007
15 avril 2004 à 17:34
Bah à la rigueur c'est même préférable que le champ soit vide de tout caractère ..... je vais essayer ça !!

Merci !!
0
Rejoignez-nous