OVH Cloud OVH Cloud

contidion where sous Vb

3 réponses
Avatar
didier
Bonjour

J'ai place sur un bouton de commande la fonction suivante
If DCount("*", "matab", "[Texte1]=3D'" & Me!Texte & "' And=20
[nombre1]<=3D" & Me! nombre & " And [Type] =3D 'FF' And=20
[cocher]=3DFalse ") > 0 Then

Cela fonctionne tant que "nombre" est entier mais d=E9s=20
qu'il contient une d=E9cimale il me mets une erreur "3075"=20
concernant une erreur (virgule) sur la formule...

Qu'est qui ne convient pas dans ma formule? Cela provient=20
de " & Me! nombre & " car si je la remplace par Forms!
[monform]![nombre] cela fonctionne
Nombre =E9tant du num=E9rique au format mon=E9taire

Merci de vos suggestions

3 réponses

Avatar
3stone
Salut,

"didier"
J'ai place sur un bouton de commande la fonction suivante
If DCount("*", "matab", "[Texte1]='" & Me!Texte & "' And
[nombre1]<=" & Me! nombre & " And [Type] = 'FF' And
[cocher]úlse ") > 0 Then

Cela fonctionne tant que "nombre" est entier mais dés
qu'il contient une décimale il me mets une erreur "3075"
concernant une erreur (virgule) sur la formule...

Qu'est qui ne convient pas dans ma formule? Cela provient
de " & Me! nombre & " car si je la remplace par Forms!
[monform]![nombre] cela fonctionne
Nombre étant du numérique au format monétaire



Tu peux contourner par:

[nombre1]<=" & Replace( Me! nombre,",",".") & " And Type=...


--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
Avatar
didier
Bonjour pierre

Donc si j'ai bien compris cela provient de la conversion
du séparateur décimal francais/US
Cela veut dire qu'il faut être trés vigilant quand à
l'utilisation de Me pour les nombre
Je vais donc continuer à utiliser Forms![monform]!
[nombre] qui lui fonctionne dans tous les cas (Numérique
décimal, nombre etc...)
-----Message d'origine-----
Salut,

"didier"
J'ai place sur un bouton de commande la fonction suivante
If DCount("*", "matab", "[Texte1]='" & Me!Texte & "' And
[nombre1]<=" & Me! nombre & " And [Type] = 'FF' And
[cocher]úlse ") > 0 Then

Cela fonctionne tant que "nombre" est entier mais dés
qu'il contient une décimale il me mets une erreur "3075"
concernant une erreur (virgule) sur la formule...

Qu'est qui ne convient pas dans ma formule? Cela provient
de " & Me! nombre & " car si je la remplace par Forms!
[monform]![nombre] cela fonctionne
Nombre étant du numérique au format monétaire



Tu peux contourner par:

[nombre1]<=" & Replace( Me! nombre,",",".") & " And
Type=...



--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome



.



Avatar
3stone
Salut,

"didier"
Donc si j'ai bien compris cela provient de la conversion
du séparateur décimal francais/US
Cela veut dire qu'il faut être trés vigilant quand à
l'utilisation de Me pour les nombre

Ce n'est pas le Me qui fait que cela coince...

Je vais donc continuer à utiliser Forms![monform]!
[nombre] qui lui fonctionne dans tous les cas (Numérique
décimal, nombre etc...)


Par

"[nombre1]<=" & Me!nombre & " And ..."

en concatènant ta valeur, disons 1,4
tu crée la chaîne "[nombre1]=1,4 And..."

or, c'est la virgule dans le nombre que le VBA n'accepte pas!

Par contre, l'utilisation de:
"[nombre1]=" & Forms!MonForm!MaZoneDeText & " And..."
fait transiter le contenu de la ZdT par le "traducteur", l'interface...
et là, Access dans sa grande bonté, crée la chaîne:
"[nombre1]=1.4 And..."

et tout le monde est content... ;-)

La même méthode est *très* pratique pour les dates...
plus de conversion ou Format'age' à faire !

Inconvénient: Forms!MonForm.... est plus lent...

Donc vérifier, si, avec ou sans "remise en forme"
et voir la méthode la plus rapide au cas par cas.


--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome