Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb avec str()...

3 réponses
Avatar
Christophe
Bonjour =E0 tous
j'ai un petit souci avec des comparaisons telles que :

dim var1, var2 as string
str(var1) < str(var2)

ces deux variables prennent chacunes des valeurs allant de 1 =E0 12
(mois)
tout ce passe bien lorsque les variables prennent des valeurs =E0 1
chiffre
Par contre lorsque l'on passe =E0 2 chiffres (3 derniers mois de
l'ann=E9e),
c'est n'importe quoi !!... en fait, on dirait qu'il ne compare que le
1er chiffre de la valeur de la variable.

pas trouv=E9 de r=E9ponse dans l'aide ni sur ce groupe...
Quelque chose a du m'=E9chapper mais quoi ?...
Si quelqu'un peut m'aider... merci d'avance !

3 réponses

Avatar
Eric
Bonjour,

Quand tu compares des chaines, il est normal que _12 soit plus petit que
_2 (où _ représente un espace pour le signe) puisque la comparaison se
fait caractère par caractère.

Que veux-tu faire exactement ?

PS : dans ta ligne déclarative Dim var1, var2 as string
seule var2 est déclarée comme string, var1 est déclarée en Variant.
Si tu veux les déclarer toutes les 2 en string, alors tu dois faire:
Dim var1 as String, var2 As String


Bonjour à tous
j'ai un petit souci avec des comparaisons telles que :

dim var1, var2 as string
str(var1) < str(var2)

ces deux variables prennent chacunes des valeurs allant de 1 à 12
(mois)
tout ce passe bien lorsque les variables prennent des valeurs à 1
chiffre
Par contre lorsque l'on passe à 2 chiffres (3 derniers mois de
l'année),
c'est n'importe quoi !!... en fait, on dirait qu'il ne compare que le
1er chiffre de la valeur de la variable.

pas trouvé de réponse dans l'aide ni sur ce groupe...
Quelque chose a du m'échapper mais quoi ?...
Si quelqu'un peut m'aider... merci d'avance !



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Jessy Sempere [MVP]
Bonjour

C'est normal, tu déclares tes variable en String (texte) du coup il ne
compare pas des données numériques mais des données textes.
Si tu tris tes données par ordre croissant, tu auras :
1;11;12;2;3;4;5;6;7;8;9

Il te faut mettre :
Dim var1 as integer
Dim var2 as integer

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Christophe" a écrit dans le message de news:

Bonjour à tous
j'ai un petit souci avec des comparaisons telles que :

dim var1, var2 as string
str(var1) < str(var2)

ces deux variables prennent chacunes des valeurs allant de 1 à 12
(mois)
tout ce passe bien lorsque les variables prennent des valeurs à 1
chiffre
Par contre lorsque l'on passe à 2 chiffres (3 derniers mois de
l'année),
c'est n'importe quoi !!... en fait, on dirait qu'il ne compare que le
1er chiffre de la valeur de la variable.

pas trouvé de réponse dans l'aide ni sur ce groupe...
Quelque chose a du m'échapper mais quoi ?...
Si quelqu'un peut m'aider... merci d'avance !
Avatar
Christophe
Merci à tous les deux de vos réponses si rapides et si...efficaces !
cela fonctionne à merveille après avoir déclarer mes variables
convenablement.
Merci encore



Bonjour

C'est normal, tu déclares tes variable en String (texte) du coup il ne
compare pas des données numériques mais des données textes.
Si tu tris tes données par ordre croissant, tu auras :
1;11;12;2;3;4;5;6;7;8;9

Il te faut mettre :
Dim var1 as integer
Dim var2 as integer

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Christophe" a écrit dans le message de news:

Bonjour à tous
j'ai un petit souci avec des comparaisons telles que :

dim var1, var2 as string
str(var1) < str(var2)

ces deux variables prennent chacunes des valeurs allant de 1 à 12
(mois)
tout ce passe bien lorsque les variables prennent des valeurs à 1
chiffre
Par contre lorsque l'on passe à 2 chiffres (3 derniers mois de
l'année),
c'est n'importe quoi !!... en fait, on dirait qu'il ne compare que le
1er chiffre de la valeur de la variable.

pas trouvé de réponse dans l'aide ni sur ce groupe...
Quelque chose a du m'échapper mais quoi ?...
Si quelqu'un peut m'aider... merci d'avance !