Probleme erreur d'exécution

bruce207 Messages postés 106 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 2 mai 2012 - 15 mai 2008 à 21:59
bruce207 Messages postés 106 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 2 mai 2012 - 17 mai 2008 à 12:50
Bonjour,
je cherchais un code pour pouvoir separer, les nombres entrés dans un textbox, par centaines et j'ai eu le code suivant :
PrivateSub Text1_KeyPress(KeyAscii AsInteger)
Dim filtre AsString, toto AsString
If KeyAscii = 8ThenExitSub
toto = Chr(KeyAscii)
KeyAscii = 0
IfNot IsNumeric(toto)ThenExitSub
filtre = "# "
For i = 1To6
   filtre = filtre & String(3, "#") & " "
Next
Text1.Text = Trim(Format(Text1.Text & toto, filtre))
Text1.SelStart = Len(Text1.Text)
EndSub
le probleme maintenant est que lorsque je veux inserer le nombre 5 000 000 saisie dans le champ du textbox, dans ma base de donnée j'ai l'erreur suivante :
Erreur d'exécution '-2147217900(80040e14)':
Erreur de syntaxe (opérateur absent) dans l'expression '5 000 000'.
Pourquoi cela et comment y remedier ?
Merci d'avance.

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 mai 2008 à 22:08
salut,

plus simple :

Option Explicit

Private Sub Text1_LostFocus()
    Text1.Text = Format(Text1.Text, "###,##0")
End Sub

~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

à toi d'adapter si décimale
@++

le mystérieux chevalier,"Provençal, le gaulois"
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 mai 2008 à 22:14
mal lu :

dans ma base de donnée j'ai l'erreur suivante :

quel est ton code ?
Transforme ta variable String en Long, et entoure la des quotes (') dans ta requête

@++

le mystérieux chevalier,"Provençal, le gaulois"
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 mai 2008 à 06:02
j'aime pas trop que l'on force un Format...

passer par FormatNumber et FormatDateTime est une bonne habitude
0
bruce207 Messages postés 106 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 2 mai 2012
17 mai 2008 à 12:50
Comment faire pour que lorsque j'utilise Format() je puisse aussi avoir des décimales, parce que par exemple si je tape :Text1.Text Format(Text1.Text, "### ### ###"), il n'est pas possible de saisir un nombre décimale ou si je tape Text1.Text Format(Text1.Text, "### ###.###"), là si je tape un chiffre il va directement à la virgule exemple 1236----> 1,236 Comment faire donc pour remedier à ça
0
Rejoignez-nous