Aide sur la convertion de données [Résolu]

Signaler
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009
-
gillardg
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
-
Salut à tous,
Je veux saisir et sauvegarder un taux dans ma base de données SQL Serveur 2005 stanadard.
Le champ taux est du type float dans ma base de données, et je voulais forcer la convertion de la valeur de mon text box en double et passer à l'enregistrement mais ça ne marche et me génère des erreurs.
Je demande votre aide pour resoudre mon problème.
Merci.

junior

17 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
21
Bonjour,

Une Textbox contient ds valeurs de type String
Pour savoir comment faire la conversion en type double, il nous faut savoir si tu y utilises un séparateur décimal et (si oui) lequel ...
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Bonjour,
Curency

Dim s As String
s = "123,125"
Dim d As Currency
d = CCur(s)
MsgBox (d)

a+
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Bonjour,

je t'ai déjà répondu !
relis les précédents post

a+
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

merci, effectivement j'utilise un séparateur décimal et c'est la  virgule ","

junior
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Bonjour,

et ta base de données elle utilise quel séparateur décimal ??

a+
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

Salut,
ma base utilise comme séparateur la virgule ","
merci a+
junior
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Bonjour,









Dim

str


As





String

=


"123,125"








Dim

dbl


As





Double

=


CDbl

(str)




si le séparateur décimal system est le point ( international)
cela provoque une erreur

donc dabord verifier le séparateur décimal




System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator









a+
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

merci, je vais voir ça et te tenir informer
a+
junior
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

Salut gillardg,
je te rappelle que je suis en vb 6.0 je n'arrive pas à faire le test
peux tu plus me guider.
merci
junior
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Bonjour,

oufti désolé non j'ai répondu trop vite

a+
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Bonjour,

Alors ma question va peut être paraitre bête mais l'utilisation de la fonction CDbl ne va pas???

ref : MSDN
<hr />
CDbl, <object id="alink_14" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>http://www.vbfrance.com/forum/sujet-PENSE-PAS-SI-BETE_1223666.aspx
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

Non la fonction double ne marche pas.
j'ai un champ taux dans ma base de type float et je tente d'enregistrer des données decimales mais ça bloque.
je saisie dans un textbox qui par defaut est de type string. donc je fais une conversion de type vers le type double avec CDbl ou decimale ou CDl mais ça bloque tjrs
junior
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

Merci pour la réponse mais ça résoud en partie mon problème.
Car quand je remplace "123,125" par la valeur que contient mon textbox  j'ai une erreur:

s= txt_taux.text
d = CCur(s)
MsgBox (d)
 erreur : type incompatible
Merci.
junior
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Bonjour,

quelle est cette valeur qui pose problème??

a+
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

Salut,
en fait je parle de la valeur que contiendrait mon textbox, mais pas d'une valeur statique.
Merci

junior
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Bonjour,
"quand je remplace "123,125" par la valeur que contient mon textbox  j'ai une erreur:"

donnes le code  + la valeur qui pos problème sinon impossible d'avancer

et surtout arretes de me spamer  avec des Messages Privés !

a+
Messages postés
14
Date d'inscription
vendredi 25 mars 2005
Statut
Membre
Dernière intervention
24 avril 2009

Désoler pour les messages privés.
Voici mon bout de codes qui me donne des soucis :

Private Sub Txt_Taux_KeyPress(KeyAscii As Integer)

Dim s As String


' permet la saisie de chiffre et du séparateur décimal ,
If Not IsNumeric(Chr(KeyAscii)) Then       If KeyAscii 8 Or (KeyAscii 44 And InStr(Txt_Taux.Text, ",") = 0) Then
          ' on fait rien
       Else
          KeyAscii = 0
       End If
End If
s = Txt_Taux.Text
Dim d As Currency
d = CCur(s) 'c'est là qu'il me dit type incompatible
MsgBox (d)
End Sub

nb: je veux pouvoir receuillir la valeur  decimale que l'user saisira dans le textbox dans une variable et l'enregistrer dans ma base.
Merci



junior