dans le chapitre rien n'est parfait...et quelques tests après
avec chr(34) c'est maintenant le caractère " qui ne passe plus... cordialement Jacques
"gold" a écrit dans le message de news: uik3%23$
Merci Eric, cela marche parfaitement.
Juste pour ne pas mourir idiot ...
On m'avait dit d'ajouter dans le cas d'un string le caractère '
strSQL =Insert into LaTable(Societe) Values('" & strSociete & "');"
je ne vois pas l'intérêt puisque chr(34) fait beaucoup mieux !
cordialement Jacques
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
re,
le ' marche pour encadrer une chaine si cette dernière ne contient pas, à son tour, une quote et est plus court à écrire que les Chr(34) qui correspond au ". Si la chaine passée contient un quote, le nombre impair perturbe le SQL car il ne s'y retrouve pas dans les délimiteurs Maintenant si tu as un " dans la chaine et que tu l'encadres par des Chr(34), alors tu es confronté à ton 2ème problème. Le SQL ne s'y retrouve pas dans les délimiteurs car il trouve un guillemet de trop. Donc, il fallait envisager que ta chaine puisse contenir les 2 cas, ce que j'ai omis de faire. Pour cela, on en revient au quote pour entourer et on utilise la fonction Replace() pour doubler le quote dans la variable passée. Ce qui autorise le " car rien n'est remplacé et permet de rester cohérent au niveau des délimiteurs ' car le SQL en voit 4 (2 extérieurs et le vrai qu'on lui a fait prendre pour un double ;-)
Pas sûr d'être très clair, sur le coup.
Juste pour ne pas mourir idiot ...
On m'avait dit d'ajouter dans le cas d'un string le caractère '
strSQL =Insert into LaTable(Societe) Values('" & strSociete & "');"
je ne vois pas l'intérêt puisque chr(34) fait beaucoup mieux !
cordialement Jacques
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
le ' marche pour encadrer une chaine si cette dernière ne contient pas,
à son tour, une quote et est plus court à écrire que les Chr(34) qui
correspond au ". Si la chaine passée contient un quote, le nombre impair
perturbe le SQL car il ne s'y retrouve pas dans les délimiteurs
Maintenant si tu as un " dans la chaine et que tu l'encadres par des
Chr(34), alors tu es confronté à ton 2ème problème. Le SQL ne s'y
retrouve pas dans les délimiteurs car il trouve un guillemet de trop.
Donc, il fallait envisager que ta chaine puisse contenir les 2 cas, ce
que j'ai omis de faire.
Pour cela, on en revient au quote pour entourer et on utilise la
fonction Replace() pour doubler le quote dans la variable passée. Ce qui
autorise le " car rien n'est remplacé et permet de rester cohérent au
niveau des délimiteurs ' car le SQL en voit 4 (2 extérieurs et le vrai
qu'on lui a fait prendre pour un double ;-)
Pas sûr d'être très clair, sur le coup.
Juste pour ne pas mourir idiot ...
On m'avait dit d'ajouter dans le cas d'un string le caractère '
strSQL =Insert into LaTable(Societe) Values('" & strSociete & "');"
je ne vois pas l'intérêt puisque chr(34) fait beaucoup mieux !
cordialement Jacques
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
le ' marche pour encadrer une chaine si cette dernière ne contient pas, à son tour, une quote et est plus court à écrire que les Chr(34) qui correspond au ". Si la chaine passée contient un quote, le nombre impair perturbe le SQL car il ne s'y retrouve pas dans les délimiteurs Maintenant si tu as un " dans la chaine et que tu l'encadres par des Chr(34), alors tu es confronté à ton 2ème problème. Le SQL ne s'y retrouve pas dans les délimiteurs car il trouve un guillemet de trop. Donc, il fallait envisager que ta chaine puisse contenir les 2 cas, ce que j'ai omis de faire. Pour cela, on en revient au quote pour entourer et on utilise la fonction Replace() pour doubler le quote dans la variable passée. Ce qui autorise le " car rien n'est remplacé et permet de rester cohérent au niveau des délimiteurs ' car le SQL en voit 4 (2 extérieurs et le vrai qu'on lui a fait prendre pour un double ;-)
Pas sûr d'être très clair, sur le coup.
Juste pour ne pas mourir idiot ...
On m'avait dit d'ajouter dans le cas d'un string le caractère '
strSQL =Insert into LaTable(Societe) Values('" & strSociete & "');"
je ne vois pas l'intérêt puisque chr(34) fait beaucoup mieux !
cordialement Jacques
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
gold
maintenant je comprends mieux un grand merci cordialement Jacques
maintenant je comprends mieux
un grand merci
cordialement Jacques