Probleme requete SQL avec nombre decimaux

Résolu
stephG01 Messages postés 51 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 2 février 2006 - 24 janv. 2006 à 09:34
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 - 24 janv. 2006 à 10:14
bonjour


mon probleme vient du separateur decimal .dans une application develloppe sous access 2000


avec la virgule , j'ai une erreur le nombre de champs ne correspond pas .


j'ai modifié le separateur decimal dans les parametre regionaux de windows( remplacement de la virgule par le point) et pas de changement.mes chiffre decimaux ont toujours la virgule.
j'ai teste avec une fonction de remplacement de la virgule par un point avec la fonction replace .

Public Function Rempl_Virg_Point(TmpCurr As Currency) As Currency
Rempl_Virg_Point = Replace(TmpCurr, ",", ".")
End Function

la j'ai une erreur incompatibilite de type.
jai essayé de faire plusieurs conversion de type de currency en string la fonction replace marche correctement, mais la conversion de string en currency me donne une erreur incompatibilité de type

merci de votre aide
@+

1 réponse

cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
24 janv. 2006 à 10:14
Replace intervient sur du string et non sur un currency
Dans une requête SQL c'est normalement le point le séparateur décimal
car la virgule est un séparateur de champs

Public Function Rempl_Virg_Point(TmpCurr As Currency) As String
Rempl_Virg_Point = Replace(TmpCurr, ",", ".")
End Function

Fonctionnera si la valeur retournée est utilisée directement dans une requête SQL
Exemple
SQLString "SELECT * FROM TOTO WHERE Total"& Rempl_Virg_Point(MaValeur) &";"

ta fonction revient aussi à ça

Public Function Rempl_Virg_Point(TmpCurr As Currency) As String

Rempl_Virg_Point = Format(TmpCurr,"#0.00")

End Function

ou en gain de temps


SQLString "SELECT * FROM TOTO WHERE Total"& Format(MaValeur,"#0.00") &";"
3
Rejoignez-nous