Problème apostrophe,requete SQL sous Access

themaste Messages postés 130 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 8 juillet 2008 - 1 oct. 2003 à 17:15
themaste Messages postés 130 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 8 juillet 2008 - 2 oct. 2003 à 11:04
Bonjour a tous!
Comment faire pour mettre des apostrophes dans des requete SQL snas que ca plante?
J'ai trouve un post a ce sujet, mais la solution proposé ne peux pas fonctionner.

En effet, il est dit d'utiliser la fonction "replace", mais elle n'existe pas sous access....

Comment faire?

*Merci!!

9 réponses

themaste Messages postés 130 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 8 juillet 2008 2
2 oct. 2003 à 11:04
une ch'tite erreur de ma part.. pour l'index dans le for, faut partir de 1 et pas de 0 :-p !!
1
sonoboss Messages postés 178 Date d'inscription lundi 17 juin 2002 Statut Membre Dernière intervention 2 octobre 2007
1 oct. 2003 à 17:19
baaaaaa feinter le bougre ;-)
remplace les double quots par des doubles doubles quotes

Ex :

Query="Select * from Client"

Cela donne donc :

Query=""Select * from Client""

Ca a l'air de rien comme ca mais ca marche :big)

@ plus!

Le jour où la merde vaudra de l'or, les pauvres naîtons sans trou du cul!
0
themaste Messages postés 130 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 8 juillet 2008 2
1 oct. 2003 à 17:25
Ca marche pas..sniff...
J'ai:
DoCmd.RunSQL "INSERT INTO CONDITION_SELECTION (NOM_DONNEE, OPERATION) VALUES ('" & Me!ComboDonnee & "', '" & Me!comboOpeSel & "')"

si je rajoute des ", il aime pas, il met tout en rouge!
0
cs_BLU Messages postés 16 Date d'inscription jeudi 11 juillet 2002 Statut Membre Dernière intervention 31 juillet 2008
1 oct. 2003 à 17:31
Rajoute la fonction de ce type là

Public Function Convert_String(Chaine As Variant) As Variant
'Fonction de remplacement de ' en '' dans une chaine de type String ...
Chaine = IIf(IsNull(Chaine), "", Chaine)
Convert_String= Replace(Chaine, "'", "''")
End Function

où tu passe la valeur de ton combo au sein même de ta définition de ta reqête

"INSERT INTO CONDITION_SELECTION (NOM_DONNEE, OPERATION) VALUES ('" & Convert_String(Me!ComboDonnee) & "', '" & Convert_String(Me!comboOpeSel) & "')"

A+ et bonne prog
BLU
0

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

Posez votre question
sonoboss Messages postés 178 Date d'inscription lundi 17 juin 2002 Statut Membre Dernière intervention 2 octobre 2007
1 oct. 2003 à 17:32
Arf... les méandres du VBA...

Là je ne suis pas sur de mon coup mais as tu essayé le signe "$"?

Sinon je ne sais pas... Dsolé :blush)

Le jour où la merde vaudra de l'or, les pauvres naîtons sans trou du cul!
0
themaste Messages postés 130 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 8 juillet 2008 2
1 oct. 2003 à 17:38
.. :sad) :sad) :sad) :sad) , mais le $ ne marche pas....
Et dans la fonction donnée par BLU, je me retrouve devt le pbl que replace existe pas....
0
sonoboss Messages postés 178 Date d'inscription lundi 17 juin 2002 Statut Membre Dernière intervention 2 octobre 2007
1 oct. 2003 à 17:45
mmm as tu songé o scuicide? :question) :big)

là je ne sais pas.... Au pire reprend ton projet en VB :clown) parce que là... je ne sais pas Dsolé..

Le jour où la merde vaudra de l'or, les pauvres naîtons sans trou du cul!
0
themaste Messages postés 130 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 8 juillet 2008 2
1 oct. 2003 à 17:54
C bon j'ai trouve, en tout k grace a vous!!
j'ai modifié la fonction....

******************************
Public Function Convert_String(Chaine As Variant) As String
'Fonction de remplacement de ' en '' dans une chaine de type String ...
Dim ChaineTmp As String
Dim nIndex As Integer
Dim c As String

For nIndex = 0 To Len(Chaine)
'Récupère chaque caractère pour analyse
c = Mid(Chaine, nIndex, 1)
If c = "'" Then
'Ajoute deux fois l'apostrophe
ChaineTmp = ChaineTmp & c & c
Else
'Ne change rien
ChaineTmp = ChaineTmp & c
End If
Next

'Envoie le résultat
Convert_String = ChaineTmp

End Function

****************************

Voili voilou!! J'espere que ca pourra aider!!
0
cs_BLU Messages postés 16 Date d'inscription jeudi 11 juillet 2002 Statut Membre Dernière intervention 31 juillet 2008
1 oct. 2003 à 18:34
He Désolé,
J'ai lu trop vite
Effectivement pas de replace en vba access ...
:blush)
BLU
0