Problème de quote avec vb et sql

munisys Messages postés 6 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 29 août 2005 - 29 août 2005 à 18:06
munisys Messages postés 6 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 29 août 2005 - 29 août 2005 à 21:43
Salut tout le monde!
J'ai un problème avec la requete ou il y'a les lignes suivantes :
req = "select desi.dte, from desi, where desi.OrigCpyDsc= '" & Combo1.Text & "'"
Le problème c'est que quand le la chaine contenue dans combo1.text contient une quote sql renvoie une erreur .
J'ai essayé de remplacer la quote par deux quotes avec la fonction replace() ( req = "select desi.dte, from desi, where desi.OrigCpyDsc= ' " & replace(Combo1.Text ," ' "," ' ' ") &" ' " ) ,
J'ai meme essayé avec le code ascii, mais sql ne reconnait pas la nouvelle valeur de combo1.text dans la table desi et retourne le résultat null alors qu'il devrait normalement remplacer automatiquement les deux cote par une .
Aidez moi svp c urgent .
merci d'avance.
A voir également:

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 août 2005 à 18:14
Salut
Question qui revient souvent dans le forum
Remplacer les caractères spéciaux comme les ' ou les \ :
Normalement, doubler la quote devrait suffire
Essaye d'ajouter un \ devant ces caractères :
replace(Combo1.Text ,"'","\'")

Attention de ne pas ajouter d'espaces devant et derrière les ' comme tu l'as fait dans le Replace de ton exemple !
L'espace est reconnu comme un caractère, et pas comme un espacement pour faire joli

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
29 août 2005 à 18:19
Salut, c'est pourtant la bonne méthode de remplacer les quotes simples par des double quotes, vérifie s'il n'y a pas d'espaces en trop, cette syntaxe doit fonctionner :

req = "select desi.dte, from desi, where desi.OrigCpyDsc= '" & Replace(Combo1.Text, "'", "''") & "'"

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008
29 août 2005 à 20:07
oui moi aussi j'ai jamais eu de probleme avec replace(combo1.txt,"'","''")

mais déja je remarque que dans ta question tu met des espaces inutile avant les apostrophes.

Hassen TUNISIE
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 août 2005 à 20:24
si replace(combo1.txt,"'","''") posait un problème, alors replace(combo1.txt, "'", Chr(34))
PCPT
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 août 2005 à 20:25
umm, étrange, tu as mis 2 simples cotes? ou une double......
0
joseph6610 Messages postés 25 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 10 septembre 2008
29 août 2005 à 20:50
si tu veut evite le problemme remplace le requete avec un variable
0
munisys Messages postés 6 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 29 août 2005
29 août 2005 à 21:43
Merci a vous tous camarades j'ai réecrit pour la dernière la fct replace commme suit replace(combo...,"'","''") et ca a marché bien ! je c pas cmt ca s'est fait ms bon jm'en fous , pardon si g mit des espaces dans le 1er message je voulais mettre en clair la quote et les deux quotes (pas de double quotes).
Merci encore et dsl pr le dérangement
0
Rejoignez-nous