Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
Bonjour,
Si tu veux comparer les chaines de caracères en différenciant Maj/Min,
...., utilises plutôt la fonction StrComp()
Avec l'instruction par défaut dans les modules Option Compare Database,
la procédure ci-dessous :
Private Sub zz()
Debug.Print Asc("1"), Asc(":")
Debug.Print ("1" > ":")
End Sub
retourne :
49 58
Vrai
Avec l'instruction Option Compare Binary
49 58
Faux
Mais quelle que soit l'Option Compare:
Private Sub zz()
Debug.Print StrComp("1", ":", vbBinaryCompare)
End Sub
retournera toujours -1 (soit Vrai) c'est à dire que "1" est inférieur à ":"
Pour plus d'infos, voir l'aide sur Option Compare et StrConv()Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Si tu veux comparer les chaines de caracères en différenciant Maj/Min,
...., utilises plutôt la fonction StrComp()
Avec l'instruction par défaut dans les modules Option Compare Database,
la procédure ci-dessous :
Private Sub zz()
Debug.Print Asc("1"), Asc(":")
Debug.Print ("1" > ":")
End Sub
retourne :
49 58
Vrai
Avec l'instruction Option Compare Binary
49 58
Faux
Mais quelle que soit l'Option Compare:
Private Sub zz()
Debug.Print StrComp("1", ":", vbBinaryCompare)
End Sub
retournera toujours -1 (soit Vrai) c'est à dire que "1" est inférieur à ":"
Pour plus d'infos, voir l'aide sur Option Compare et StrConv()
Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Si tu veux comparer les chaines de caracères en différenciant Maj/Min,
...., utilises plutôt la fonction StrComp()
Avec l'instruction par défaut dans les modules Option Compare Database,
la procédure ci-dessous :
Private Sub zz()
Debug.Print Asc("1"), Asc(":")
Debug.Print ("1" > ":")
End Sub
retourne :
49 58
Vrai
Avec l'instruction Option Compare Binary
49 58
Faux
Mais quelle que soit l'Option Compare:
Private Sub zz()
Debug.Print StrComp("1", ":", vbBinaryCompare)
End Sub
retournera toujours -1 (soit Vrai) c'est à dire que "1" est inférieur à ":"
Pour plus d'infos, voir l'aide sur Option Compare et StrConv()Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Slt,
De "Dave"Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
C e n'est pas une question ASCII/ANSI. -qui sont différents seulement
au-delà de128-.
Le tri sur une chaine de caractères se fait successivement sur le poids des
caractères et à longueur de chaine égale.
C'est la raison pour laquelle des fichiers se référant à des dates doivent
être enregistrés au format aaaammjj.* et non jjmmaaaa.*.
--
A+
Papy Bernard (RTCien malgré lui)
Slt,
De "Dave"
Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
C e n'est pas une question ASCII/ANSI. -qui sont différents seulement
au-delà de128-.
Le tri sur une chaine de caractères se fait successivement sur le poids des
caractères et à longueur de chaine égale.
C'est la raison pour laquelle des fichiers se référant à des dates doivent
être enregistrés au format aaaammjj.* et non jjmmaaaa.*.
--
A+
Papy Bernard (RTCien malgré lui)
Slt,
De "Dave"Salut à tous et au MVP
Petite question :
Quand je fais chr(49) j'ai 1 (ok j'assure comme un fou :)
Quand je fais Chr(58) j'ai : (bis repetita :)
quand je fais "1">":" ça répond vrai, alors là je suis perdu ..
j'ai besoin de faire des string de type "PO1-1", "PO1-1-1" et PO1-2", en
classement j'ai "PO1-1" puis "PO1-2" et "PO1-1-1" Pa normal pour moi ...
comment puis faire pour donner un classement qui tienne compte des valeurs
Chr ...
Je sais c'est une question de naz, mais c'est lundi matin, alors j'ose
Merci de votre aide
Dave
--
C e n'est pas une question ASCII/ANSI. -qui sont différents seulement
au-delà de128-.
Le tri sur une chaine de caractères se fait successivement sur le poids des
caractères et à longueur de chaine égale.
C'est la raison pour laquelle des fichiers se référant à des dates doivent
être enregistrés au format aaaammjj.* et non jjmmaaaa.*.
--
A+
Papy Bernard (RTCien malgré lui)
"PO1/1/1" ) puisque asc("-") et asc("/") sont tout deux < asc("0") alors que non dans access .... voir la formulation du problème ....plus haut dans la news ...
Salut,
"Dave"
| Merci de ton aimable réponse, mais au deumeurant je ne saisie pas trop ta
| réponse, c'est certainement que j'ai mal exprimé la demande.
| Soit une formulaire composé de 10 rubriques string 20. en mode continue du
| formualire, j'ai la fonction tri croissant qui m'autorise à trier ce dernier
| sur la rubrique de mon choix. Lorsque je fais ce trie sur une rubrique
| particulière (qui propose l'équivalent d'une gestion de chapitrage), les
| règles de pesage des chaînes ne me semble pas correcte. En effet la réponse à
| "PO1-10-1" > "PO1-1-1" est faux, donc le classement de "PO1-10-1" se fait
| avant "PO1-1-1", ceci me semble OK puisque le code ascii de "-" est inférieur
| à celui de "0". Sauf que lorsque je fais "PO1/10/1" > "PO1/1/1", la réponse
| est vrai, avec un code ascii de "/" inferieur à celui de"0". Là je suis un
| peu largué... Théoriquement ("PO1-10-1" > "PO1-1-1" ) = ("PO1/10/1" >
| "PO1/1/1" ) non ? puisque asc("-") et asc("/") sont tout deux < asc("0")
Tu peux faire quelque chose comme ceci.
- Tu réalise le tri sur les valeurs "utilises" de ta chaine...
order by replace(champ;"-";"")
pour qu'il ne tienne pas compte des séparateurs.
Où bien, se poser la question si le format du champ est bien choisi,
et si un seul champ est approprié.
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
"PO1/1/1" ) puisque asc("-") et asc("/") sont tout deux < asc("0") alors que non dans access .... voir la formulation du problème ....plus haut dans la news ...
Salut,
"Dave"
| Merci de ton aimable réponse, mais au deumeurant je ne saisie pas trop ta
| réponse, c'est certainement que j'ai mal exprimé la demande.
| Soit une formulaire composé de 10 rubriques string 20. en mode continue du
| formualire, j'ai la fonction tri croissant qui m'autorise à trier ce dernier
| sur la rubrique de mon choix. Lorsque je fais ce trie sur une rubrique
| particulière (qui propose l'équivalent d'une gestion de chapitrage), les
| règles de pesage des chaînes ne me semble pas correcte. En effet la réponse à
| "PO1-10-1" > "PO1-1-1" est faux, donc le classement de "PO1-10-1" se fait
| avant "PO1-1-1", ceci me semble OK puisque le code ascii de "-" est inférieur
| à celui de "0". Sauf que lorsque je fais "PO1/10/1" > "PO1/1/1", la réponse
| est vrai, avec un code ascii de "/" inferieur à celui de"0". Là je suis un
| peu largué... Théoriquement ("PO1-10-1" > "PO1-1-1" ) = ("PO1/10/1" >
| "PO1/1/1" ) non ? puisque asc("-") et asc("/") sont tout deux < asc("0")
Tu peux faire quelque chose comme ceci.
- Tu réalise le tri sur les valeurs "utilises" de ta chaine...
order by replace(champ;"-";"")
pour qu'il ne tienne pas compte des séparateurs.
Où bien, se poser la question si le format du champ est bien choisi,
et si un seul champ est approprié.
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
"PO1/1/1" ) puisque asc("-") et asc("/") sont tout deux < asc("0") alors que non dans access .... voir la formulation du problème ....plus haut dans la news ...
Salut,
"Dave"
| Merci de ton aimable réponse, mais au deumeurant je ne saisie pas trop ta
| réponse, c'est certainement que j'ai mal exprimé la demande.
| Soit une formulaire composé de 10 rubriques string 20. en mode continue du
| formualire, j'ai la fonction tri croissant qui m'autorise à trier ce dernier
| sur la rubrique de mon choix. Lorsque je fais ce trie sur une rubrique
| particulière (qui propose l'équivalent d'une gestion de chapitrage), les
| règles de pesage des chaînes ne me semble pas correcte. En effet la réponse à
| "PO1-10-1" > "PO1-1-1" est faux, donc le classement de "PO1-10-1" se fait
| avant "PO1-1-1", ceci me semble OK puisque le code ascii de "-" est inférieur
| à celui de "0". Sauf que lorsque je fais "PO1/10/1" > "PO1/1/1", la réponse
| est vrai, avec un code ascii de "/" inferieur à celui de"0". Là je suis un
| peu largué... Théoriquement ("PO1-10-1" > "PO1-1-1" ) = ("PO1/10/1" >
| "PO1/1/1" ) non ? puisque asc("-") et asc("/") sont tout deux < asc("0")
Tu peux faire quelque chose comme ceci.
- Tu réalise le tri sur les valeurs "utilises" de ta chaine...
order by replace(champ;"-";"")
pour qu'il ne tienne pas compte des séparateurs.
Où bien, se poser la question si le format du champ est bien choisi,
et si un seul champ est approprié.
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
re,
"Dave"
[...]
alors si MS peux m'expliquer pourquoi :
si tu souhaite que MS te réponde, demande leur directement ;-)
| Théoriquement ("PO1-10-1" > "PO1-1-1" ) = ("PO1/10/1" >
| > "PO1/1/1" ) puisque asc("-") et asc("/") sont tout deux < asc("0") alors que non dans access
..... voir la formulation du problème ....plus haut dans la news ...
Les seuls champs qui se trient correctement sont les champs numériques
(et date - un numérique un peu "spécial")
Les champs texte sont correctement triés lorsqu'il ne possèdent que
des caratères alphabétiques, en dehors de tout signe cabalistique ou autre !
Même les caractères accentués ne sont pas forcément triés comme
on le souhaite.
D'où mon intérogation sur le choix des champs !
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
re,
"Dave"
[...]
alors si MS peux m'expliquer pourquoi :
si tu souhaite que MS te réponde, demande leur directement ;-)
| Théoriquement ("PO1-10-1" > "PO1-1-1" ) = ("PO1/10/1" >
| > "PO1/1/1" ) puisque asc("-") et asc("/") sont tout deux < asc("0") alors que non dans access
..... voir la formulation du problème ....plus haut dans la news ...
Les seuls champs qui se trient correctement sont les champs numériques
(et date - un numérique un peu "spécial")
Les champs texte sont correctement triés lorsqu'il ne possèdent que
des caratères alphabétiques, en dehors de tout signe cabalistique ou autre !
Même les caractères accentués ne sont pas forcément triés comme
on le souhaite.
D'où mon intérogation sur le choix des champs !
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
re,
"Dave"
[...]
alors si MS peux m'expliquer pourquoi :
si tu souhaite que MS te réponde, demande leur directement ;-)
| Théoriquement ("PO1-10-1" > "PO1-1-1" ) = ("PO1/10/1" >
| > "PO1/1/1" ) puisque asc("-") et asc("/") sont tout deux < asc("0") alors que non dans access
..... voir la formulation du problème ....plus haut dans la news ...
Les seuls champs qui se trient correctement sont les champs numériques
(et date - un numérique un peu "spécial")
Les champs texte sont correctement triés lorsqu'il ne possèdent que
des caratères alphabétiques, en dehors de tout signe cabalistique ou autre !
Même les caractères accentués ne sont pas forcément triés comme
on le souhaite.
D'où mon intérogation sur le choix des champs !
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
re,
"Dave"
|Cependant, "/" "0" et "-" appartiennent tout trois au code
| ascii sans être impactés par des notion d'alphabet zazou ...
je t'avais indiqué la piste du "Replace()" pour remplacer
un caractère quelconque par quelque chose d'un poid adapté...
| 3stone, connais tu la procédure pour faire cette escalade sans avoir à
| sortir 350 € comme c'était la cas voilà quelque temps avec MS ?
Je ne vois pas ce qu'il y a à faire escalader...
Tu pense que MS va modifier l'ordre de tri ?
(que par ailleurs je n'ai pas testé. Et de mémoire... ;-(
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
re,
"Dave"
|Cependant, "/" "0" et "-" appartiennent tout trois au code
| ascii sans être impactés par des notion d'alphabet zazou ...
je t'avais indiqué la piste du "Replace()" pour remplacer
un caractère quelconque par quelque chose d'un poid adapté...
| 3stone, connais tu la procédure pour faire cette escalade sans avoir à
| sortir 350 € comme c'était la cas voilà quelque temps avec MS ?
Je ne vois pas ce qu'il y a à faire escalader...
Tu pense que MS va modifier l'ordre de tri ?
(que par ailleurs je n'ai pas testé. Et de mémoire... ;-(
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
re,
"Dave"
|Cependant, "/" "0" et "-" appartiennent tout trois au code
| ascii sans être impactés par des notion d'alphabet zazou ...
je t'avais indiqué la piste du "Replace()" pour remplacer
un caractère quelconque par quelque chose d'un poid adapté...
| 3stone, connais tu la procédure pour faire cette escalade sans avoir à
| sortir 350 € comme c'était la cas voilà quelque temps avec MS ?
Je ne vois pas ce qu'il y a à faire escalader...
Tu pense que MS va modifier l'ordre de tri ?
(que par ailleurs je n'ai pas testé. Et de mémoire... ;-(
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/