Trier en ignorant les cellules vides
Résolu
Aeris427
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Aeris427 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Aeris427 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite qu'Access trie mes enregistrements sur 3 champs.
Ces 3 champs sont de même type/format.
Si une cellule est vide dans le premier champs, je veux qu'il n'en tienne pas compte et prenne dans ce cas en compte la valeur du second champ pour effectuer le tri, et si celui-ci est vide, qu'il prenne en compte la valeur du 3ième.
Les cellules vides peuvent se trouver sur chacun des 3 champs mais jamais un enregistrement ne contient ces 3 champs vides en même temps, il y a forcément une valeur à trier.
Je ne trouve pas quel termes peuvent traduire cette idée dans ma requête.
D'avance, merci de votre aide.
Je souhaite qu'Access trie mes enregistrements sur 3 champs.
Ces 3 champs sont de même type/format.
Si une cellule est vide dans le premier champs, je veux qu'il n'en tienne pas compte et prenne dans ce cas en compte la valeur du second champ pour effectuer le tri, et si celui-ci est vide, qu'il prenne en compte la valeur du 3ième.
Les cellules vides peuvent se trouver sur chacun des 3 champs mais jamais un enregistrement ne contient ces 3 champs vides en même temps, il y a forcément une valeur à trier.
Je ne trouve pas quel termes peuvent traduire cette idée dans ma requête.
D'avance, merci de votre aide.
A voir également:
- Trier en ignorant les cellules vides
- Excel trier par ordre croissant chiffre - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Logiciel pour trier les photos automatiquement - Guide
- Comment supprimer les pages vides sur word - Guide
- Verrouiller cellules excel - Guide
4 réponses
Salut,
Pas sur que cela existe sur Access, sur Oracle je tenterais un :
order by nvl(champ1,nvl(champ2,champ3))
cdlt
Pas sur que cela existe sur Access, sur Oracle je tenterais un :
order by nvl(champ1,nvl(champ2,champ3))
cdlt
Bonsoir,
Si tu fais un tri "classique",de type : champs1, champs2, champs3, tu auras tous les champs vides de champs1 en tête, puis les champs2, et encore après les champs3;
La seule solution que j'imagine c'est de prévoir
champs4 = Champs1 & camps2 & champs3
et de trier selon champs4
Comme champs1 ou champs2 sera null tu n'auras pas à craindre un espace qui viendrait perturber ton tri.
Si tu fais un tri "classique",de type : champs1, champs2, champs3, tu auras tous les champs vides de champs1 en tête, puis les champs2, et encore après les champs3;
La seule solution que j'imagine c'est de prévoir
champs4 = Champs1 & camps2 & champs3
et de trier selon champs4
Comme champs1 ou champs2 sera null tu n'auras pas à craindre un espace qui viendrait perturber ton tri.
Je reprends parce que lorsque j'ai écrit la réponse précédente tu n'avais pas indiqué tes champs ni leur nature. Maintenant que c'est fait, il me semblerais plutôt qu'il te faut un iif() avec une règle de sélection pour indiquer la quelle des 3 valeurs à prendre en compte et trier sur celle-là.
Bonne suite
Bonne suite
Humph...
J'ai essayé une ligne
ORDER BY nvl(Comptes.[Date réelle],nvl(Comptes.[Date présumée], Comptes.[Date rappro]));
Mais Access me répond Fonction"nvl" non définie dans l'expression.
Quelque part je me dis qu'au moins il a reconnu la fonction mais que je l'utilise mal...
Et l'aide d'Access ne connaît même pas NVL, je suis pas aidée !
Je continue mes recherches.
J'ai essayé une ligne
ORDER BY nvl(Comptes.[Date réelle],nvl(Comptes.[Date présumée], Comptes.[Date rappro]));
Mais Access me répond Fonction"nvl" non définie dans l'expression.
Quelque part je me dis qu'au moins il a reconnu la fonction mais que je l'utilise mal...
Et l'aide d'Access ne connaît même pas NVL, je suis pas aidée !
Je continue mes recherches.
Résolu (grâce à l'aide d'un ami à moi, mais je vais mettre la solution sur le forum pour ceux qui rencontrerait le même problème)
ORDER BY NZ(nz(Comptes.[Date réelle], Comptes.[Date présumée]), Comptes.[Date rappro]), nz(Comptes.[Date présumée], Comptes.[Date rappro]), Comptes.[Date rappro];
Voilà
Merci à tous :)
ORDER BY NZ(nz(Comptes.[Date réelle], Comptes.[Date présumée]), Comptes.[Date rappro]), nz(Comptes.[Date présumée], Comptes.[Date rappro]), Comptes.[Date rappro];
Voilà
Merci à tous :)