stephG01
Messages postés51Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention 2 février 2006
-
24 janv. 2006 à 09:34
cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDerniè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
cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDernière intervention 9 octobre 20111 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") &";"