Protéger le caractère '

paloxicide Messages postés 225 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 20 juin 2006 - 8 sept. 2005 à 14:28
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 - 9 sept. 2005 à 10:50
comment puis je protéger ' pour une requete sql par exemple pour ne pas que cela me donne un commentaire

ean = "*12000*"req "select id_lot from lots_lot where eanlot_lot & ean
et il me faudrai
req "select id_lot from lots_lot where eanlot_lot & 'ean 'pour faire req "select id_lot from lots_lot where eanlot_lot'*12000*'

6 réponses

cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
8 sept. 2005 à 14:49
le caractère ' peut très bien être mis dans ton code vb sans avoir besoin de le "proteger"

-->> si je comprends bien il faut que tu écrives cela :
sReqSql "select id_lot from lots_lot where eanlot_lot '*12000*'" le caractère ' est pris comme une letter si il se trouve entre guillemets



Deluka.
0
cs_ynizon Messages postés 53 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 19 avril 2012 1
8 sept. 2005 à 14:49
Pour avoir un ' dans une requete il faut doubler l'apostrophe.
-Dans ton cas, cest pas ca que tu recherches.

Essaye ca:



req "select id_lot from lots_lot where eanlot_lot'" & ean & "'"
0
paloxicide Messages postés 225 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 20 juin 2006 1
8 sept. 2005 à 16:46
en fait il n'accepte toujours pas si je double les " guillemets
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
8 sept. 2005 à 16:54
c'est pas "doubler les guillemets" qu'il faut parce que un guillemet c'est forcément double

pour un clavier français (les autres je sais pas) :
Quand c'est double c'est la au-dessous du 3
Quand c'est simple c'est la au-dessous du 4

req = "
select id_lot from lots_lot where eanlot_lot = '" & ean & "'"

copie cette ligne et met là dans ton programme et dis moi si ca marche



Deluka.
0

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

Posez votre question
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
9 sept. 2005 à 04:50
bonsoir,

je pense que le probleme vient du fait que 'ean' est de type numérique hors lorsque la variable qui contient les données du champ est de type numérique il ne faut pas mettre d'apostrophes....

les apostrophes c'est pour des variables de type text

donc je mettrais ça :
req "select id_lot from lots_lot where eanlot_lot " & ean & ""

et attention aux espaces entre " & & ""

salut
doro
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
9 sept. 2005 à 10:50
Dans ce cas c'est pas un probleme vb mais sql.
Regarde dans l'enterprise manager si la requet suivante marche :


select id_lot from lots_lot where eanlot_lot = '*12000*'

si elle ne marche pas c'est qu'elle est mal construite ou comme le dit doro que les apostrophes c'est pour des variables de type texte


Mais apparement le problème c'est le ' (touche 4 du clavier francais) qui donne un commentaire qu'il faut mettre entre guillemets " (touche 3 du clavier) pour construire la requete sql dans le code vb



Deluka.
0
Rejoignez-nous