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

Condition Dlookup et variable numérique single ou double

1 réponse
Avatar
Bernard-VIVIER
Salut à tous !

J'essaie de procéder à une recherche de montant dans une boite de dialogue
dont le résultat réel double, est ensuite utilisé dans une condition d'un
Dlookup ou d'un Dcount. Mais, quelle que soit la solution envisagée, je n'
arrive pas à m'en sortir ? Voir ci-dessous :
Si sRépMod = "176.14"

sWhere = "[" & strControlName & "] = " & CDbl(sRépMod)

Message Access : Incompatibilité de type

sWhere = "[" & strControlName & "] = " & Format(sRépMod, "0.00")

Donne : "[Débit] = 176.14"

Ne trouve pas la donnée, qui existe cependant.

sRépMod = Mid(strRéponse, 1, InStr(strRéponse, ".") - 1) & "," &
Mid(strRéponse, InStr(strRéponse, ".") + 1, Len(strRéponse)) '
Soit sRépMod = "176,14"

sWhere = "[" & strControlName & "] = " & Format(sRépMod, "0.00")

Donne : "[Débit] = 176,14"

Message Access : Erreur de syntaxe (virgule) dans l'expression
'[Débit] = 176,14'

sWhere = "[" & strControlName & "] = " & Format(sRépMod, "0,00")

Donne : "[Débit] = 176"

sWhere = "[" & strControlName & "] = " & CDbl(sRépMod)

Donne : "[Débit] = 176,14"

Message Access : Erreur de syntaxe (virgule) dans l'expression
'[Débit] = 176,14'


Je m'en sort avec le SQL sans problème qu'il s'agisse de nombre ou de date,
mais avec bute sur ce problème, depuis pas mal de temps. Il doit pourtant
bien y avoir une solution, mais laquelle ?


Merci d'avance,

Cordialement,

BV

1 réponse

Avatar
Eric
Bonjour Bernard,

Le champ dans la table ne serait-il pas défini comme Réel Simple ou
Monétaire ?
Si oui, utilises les fonctions de conversion CSng() ou CCur() suivant le
cas. (Attention au problème de la virgule)

A+
Eric

"Bernard-VIVIER" écrivait
news:cen6a6$nqd$:

Salut à tous !

J'essaie de procéder à une recherche de montant dans une boite de
dialogue dont le résultat réel double, est ensuite utilisé dans une
condition d'un Dlookup ou d'un Dcount. Mais, quelle que soit la
solution envisagée, je n' arrive pas à m'en sortir ? Voir ci-dessous :
Si sRépMod = "176.14"

sWhere = "[" & strControlName & "] = " & CDbl(sRépMod)

Message Access : Incompatibilité de type

sWhere = "[" & strControlName & "] = " & Format(sRépMod, "0.00")

Donne : "[Débit] = 176.14"

Ne trouve pas la donnée, qui existe cependant.

sRépMod = Mid(strRéponse, 1, InStr(strRéponse, ".") - 1) & ","
&
Mid(strRéponse, InStr(strRéponse, ".") + 1, Len(strRéponse))
' Soit sRépMod = "176,14"

sWhere = "[" & strControlName & "] = " & Format(sRépMod, "0.00")

Donne : "[Débit] = 176,14"

Message Access : Erreur de syntaxe (virgule) dans l'expression
'[Débit] = 176,14'

sWhere = "[" & strControlName & "] = " & Format(sRépMod, "0,00")

Donne : "[Débit] = 176"

sWhere = "[" & strControlName & "] = " & CDbl(sRépMod)

Donne : "[Débit] = 176,14"

Message Access : Erreur de syntaxe (virgule) dans l'expression
'[Débit] = 176,14'


Je m'en sort avec le SQL sans problème qu'il s'agisse de nombre ou de
date, mais avec bute sur ce problème, depuis pas mal de temps. Il doit
pourtant bien y avoir une solution, mais laquelle ?


Merci d'avance,

Cordialement,

BV