Aide sur la convertion de données

Résolu
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009 - 4 nov. 2008 à 10:54
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 5 nov. 2008 à 14:38
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

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 nov. 2008 à 11:16
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 ...
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 15:18
Bonjour,
Curency

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

a+
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
5 nov. 2008 à 14:38
Bonjour,

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

a+
3
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
4 nov. 2008 à 11:52
merci, effectivement j'utilise un séparateur décimal et c'est la  virgule ","

junior
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 13:33
Bonjour,

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

a+
0
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
4 nov. 2008 à 13:43
Salut,
ma base utilise comme séparateur la virgule ","
merci a+
junior
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 14:17
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+
0
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
4 nov. 2008 à 14:25
merci, je vais voir ça et te tenir informer
a+
junior
0
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
4 nov. 2008 à 14:34
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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 14:41
Bonjour,

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

a+
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
4 nov. 2008 à 15:01
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
0
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
4 nov. 2008 à 15:13
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
0
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
4 nov. 2008 à 15:35
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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 nov. 2008 à 15:53
Bonjour,

quelle est cette valeur qui pose problème??

a+
0
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
5 nov. 2008 à 09:51
Salut,
en fait je parle de la valeur que contiendrait mon textbox, mais pas d'une valeur statique.
Merci

junior
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
5 nov. 2008 à 13:27
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+
0
marthyly Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 24 avril 2009
5 nov. 2008 à 14:21
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
0
Rejoignez-nous