Bonjour,
Je souhaite créer un ordre insert dans mon code VB.
J'ai trouvé des exemples et tuto sur la question, mais j'ai un soucis avec le format du séparateur de décimal.
je souhaite construire une requete du type :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO CalcTable ( id, inst_num, datadat, duration ) VALUES (1409, 21283, #10/12/2007#, 9.4646419524001);
(cette requète fonctionne très bien sur ma base access)
En VB, j'ai construit une chaine ainsi :
Le problème est que j'obtiens une chaine du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 RSInsert = "INSERT INTO CalcTable (id, inst_num, datadat, duration) " RSInsert = RSInsert & " VALUES (" & myRecordSet.Fields(0).Value & " , " & myRecordSet.Fields(1).Value & " , # " & myRecordSet.Fields(2).Value & " # ," & myRecordSet.Fields(3).Value & ") "
"INSERT INTO CalcTable (id, inst_num, datadat, duration) VALUES (408 , 21283 , # 10/12/2007 # ,9,46464195240014) "
Les valeurs sont correctes mais ma dernière valeur (9.46464195) a une virgule en séparateur de décimal (au lieu d'un point). Ca pose donc un problème à l'execution (Moteur SQL d'Access), puisque mon ordre SQL se retrouve avec 1 paramètre de trop.
(pour info dans VBA, myRecordSet.Fields(3) est de type adDouble et est donc valorisé à 9,4646.)
Comment pourrais je donc convertir la virgule de VBA en point pour le moteur SQL ?
Meric d'avance pour votre aide.
Fate
Partager