OVH Cloud OVH Cloud

Pb de ' dans chaine de caractères

2 réponses
Avatar
Alain
Bonjour

Les délimiteurs dans un projet ADP sont ' (apostrophe) pour une chaine de
caratères (string) (en lieu et place des ")

Comment faire en sorte que l'instruction suivante accepte aussi bien les
chaines de caratères contenant des '
que les chaines qui n'en contiennent pas ?
ex : si strData = "Mac Grégor" => ça marche
si strData = " O'Neil" => plantage

DoCmd.RunSQL "INSERT INTO [Matable]([Titre])" _
& "VALUES ('" & strData & "');"

2 réponses

Avatar
Raymond [mvp]
Bonjour .

si ce n'est que pour ce type de requête et uniquement tu peux doubler les '
pour pouvoir passer.
DoCmd.RunSQL "INSERT INTO [Matable]([Titre])" & "VALUES ('" &
Replace(strData, "'", "''") & "');"

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
Bonjour

Les délimiteurs dans un projet ADP sont ' (apostrophe) pour une chaine de
caratères (string) (en lieu et place des ")

Comment faire en sorte que l'instruction suivante accepte aussi bien les
chaines de caratères contenant des '
que les chaines qui n'en contiennent pas ?
ex : si strData = "Mac Grégor" => ça marche
si strData = " O'Neil" => plantage

DoCmd.RunSQL "INSERT INTO [Matable]([Titre])" _
& "VALUES ('" & strData & "');"




Avatar
Alain
Encore un grand merci Raymond

Je vais tester tout ça

@+
Alain

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour .

si ce n'est que pour ce type de requête et uniquement tu peux doubler les
'

pour pouvoir passer.
DoCmd.RunSQL "INSERT INTO [Matable]([Titre])" & "VALUES ('" &
Replace(strData, "'", "''") & "');"

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
Bonjour

Les délimiteurs dans un projet ADP sont ' (apostrophe) pour une chaine
de


caratères (string) (en lieu et place des ")

Comment faire en sorte que l'instruction suivante accepte aussi bien les
chaines de caratères contenant des '
que les chaines qui n'en contiennent pas ?
ex : si strData = "Mac Grégor" => ça marche
si strData = " O'Neil" => plantage

DoCmd.RunSQL "INSERT INTO [Matable]([Titre])" _
& "VALUES ('" & strData & "');"