Une hisoire d'apostrophe (Recordset, fusion etc...)

Signaler
Messages postés
25
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
22 août 2002
-
Messages postés
25
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
22 août 2002
-
Je suppose ke vous avez déjà eu ce pb, cad enregistrer ds une bd du texte ki contenait des apostrophes. Pour éviter le pb à léxécution de la requète d'insertion, j'utilise la fonction Replace afin de changer le ' par autre chose (chr(34) & chr(39) & chr(34)) et je fais l'opération inverse à l'affichage.
Seulement nouveau pb, maintenant il faut ke je fuisonne ces champs ds un fichier word, et j'obtiens du superbes choses du style : "Beaucoup d chr(34) & chr(39) & chr(34) argent". Je ne peux pas inverser la manoeuvre pour la fusion, alors je cherche un autre moyen pour pouvoir enregistrer cette fameuse apostrophe. Si kelkun a une idée...

x = Replace(text1.text,"'","chr(34) & chr(39) & chr(34)"

str = "INSERT INTO [Truc] (A) VALUES (x)

Pour la fusion :
objWord.ActiveDocument.MailMerge.DataSource.QueryString "SELECT * FROM [req Export Word] WHERE (([Badge] " & CInt(txtcour.Text) & ")) AND (([Année] = " & CInt(cboan.Text) & "))"

2 réponses

Messages postés
114
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
17 novembre 2014

Pour enregistrer des guillemets dans un champ texte via une instruction SQL, il te faut doubler les guillemets dans la valeur que tu veux insérer (syntaxe SQL).

Par exemple :

Str = "INSERT INTO MaTable (ChampA) VALUES ('" & Replace(MaVariable,"'","''") & "')"

Ce que donne par exemple :
Debug.Print Str
INSERT INTO MaTable (ChampA) VALUES ('C''est l''été.')

--------------------
Skrol 29
www.skrol29.com
--------------------
0
Messages postés
25
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
22 août 2002

Mais bon sang c bien sûr !!!! J'aurais dû suivre plus ke ça en cours, j'men serais souvenu. Merci bcp :big)
0