Probleme requete SQL avec nombre decimaux [Résolu]

stephG01 51 Messages postés dimanche 22 février 2004Date d'inscription 2 février 2006 Dernière intervention - 24 janv. 2006 à 09:34 - Dernière réponse : cs_Stephane33 630 Messages postés samedi 15 février 2003Date d'inscription 9 octobre 2011 Dernière intervention
- 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
@+
Afficher la suite 

1 réponse

Meilleure réponse
cs_Stephane33 630 Messages postés samedi 15 février 2003Date d'inscription 9 octobre 2011 Dernière intervention - 24 janv. 2006 à 10:14
3
Merci
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") &";"

Merci cs_Stephane33 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.