Clonk
Messages postés278Date d'inscriptionmardi 22 janvier 2002StatutMembreDernière intervention29 août 2006
-
26 août 2003 à 10:15
LordZerty -
22 oct. 2012 à 08:46
Bonjour,
J'ai un petit problème en VBA, sûrement pas grave, mais disons que j'ai un problème de timing pour m'y pencher à fond. C'est pourquoi je fais appel à vous:
(je précise, je ne maitrise absolument pas le VBA)
j'ai une requête d'ajout "à l'ancienne" sous VBA du type:
INSERT INTO MaTable (nom, durée) VALUES ('" & texte1.value & "', " Texte2.value")
(pour les petits malins qui me sortiraient qu'en VB, .value d'un text, ça n'existe pas, sachez qu'en VBA, .text ça marche pas, VB et VBA => pas pareil)
Mon problème est le suivant : il peut arriver que texte2.value soit un nombre décimal (0,5), or, quand je lance ma requête, il me prends cette virgule pour un séparateur de champs (logique!)
J'ai testé REPLACE pour changer la virgule en point, mais ça ne change rien, il y a toujours cette £%*$ de virgule
Ce n'est pas un truc très compliqué, j'espère que quelqu'un aura la réponse
Merci!
Clonk
Messages postés278Date d'inscriptionmardi 22 janvier 2002StatutMembreDernière intervention29 août 2006 26 août 2003 à 10:37
bah non ça marche pas... merci quand meme...
mais j'y pense (j'ai pas la machine à côté de moi pour faire ça)
INSERT INTO MaTAble...
pour séparer les champs, si je met ; ça peut marcher ou pas?
(question bête, mais quand on peut pas tester...)
tdvst
Messages postés2Date d'inscriptionsamedi 26 avril 2003StatutMembreDernière intervention22 août 2005 16 déc. 2003 à 11:29
C'est normal que ca marche pas parce que VBA convertit ton durée en chaine de caractere donc tu as une requete de la forme INSERT INTO MaTable (nom, durée) VALUES ('lalala',1,3)
Par contre c'est bizarre que REPLACE ne marche pas
Essaye un truc du genre
dim duree as string
sinon tu peux essayer
INSERT INTO MaTable (nom, durée) VALUES ('" & texte1.value & "','" & cdbl( Texte2.value) & "') "
en espérant qu'il fasse la conversion lui meme
lamychoco
Messages postés1Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention23 novembre 2004 23 nov. 2004 à 15:35
Salut
Je debute aussi,mais pour ton probleme de virgule,as tu essaye de chercher une sulution en mutipliant et en divisant ton chiffre.Du genre
ton 0,5 le multiplier par 10 pour avoir une valeur entiere puis le remultiplier avant l'afficher.Je suis desole de ne pas pouvoir etre
plus explicite mais je plus à mon aise avec excel.
lucrobin
Messages postés4Date d'inscriptionlundi 16 février 2004StatutMembreDernière intervention17 août 2005 17 août 2005 à 09:35
Bonjour,
Vas plutôt dans "Panneau de configuration/Options régionnales/nombre" et change
le symbole décimal "," (virgule) par "." (point) (paramètrage système Windows)
Salut
tdvst
Messages postés2Date d'inscriptionsamedi 26 avril 2003StatutMembreDernière intervention22 août 2005 22 août 2005 à 10:45
Bien sur, c'est une solution de changer le symbole decimal et de se mettre en format americain (comme VBA est d'abords ecrit en anglais il reconnait les point comme symbole decimal) mais c'est un peu brute comme methode surtout si tu veux encore continuer a taper tes chiffres a virgules dans windows (par exemple sous excel)