[Access - VBA] - Question à la con avec la '

- Question à la con avec la ' [Access - VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 31-08-2003 à 14:02:56    

Salut
 
En fait, je voudrais remplacer les ' présentes dans mes champs.
Parce que lorsque je cliques sur le bouton ajouter et où j'ai fait en VBA un INSERT INTO ... VALUES(' " & ZT_Toto & "')
DoCmd.RunSQL
 
Parce que si ZT_Toto contient une ', celà ferme la valeur et plante.
 
J'ai pensé le remplacer par un \' mais ca marche pas non plus.
J'ai aussi pensé à remplacer les ' par la valeur retournée par chr(49) mais pareil (logique) (je crois que c'est 49 pour la ').
 
J'ai trouvé une solution qui marche mais un peu chiante : remplacer les ' par le texte chr(49) mais bon .... ca fait des champs enregistrés du style :
"avenue dchr(49)Ouzbekistan" au lieu de "avenue d'Ouzbekistan".
 
Y'a pas une autre méthode pour remplacer les ' ?
 
Merci
 
 

Reply

Marsh Posté le 31-08-2003 à 14:02:56   

Reply

Marsh Posté le 31-08-2003 à 17:57:42    

Fonction à utiliser :
 

Code :
  1. function quote(str as string) as string)
  2.    if isNull(str) then
  3.       quote = "''"
  4.    else
  5.       quote = "'" & replace(str, "'", "''" ) & "'"
  6.    end if
  7. end function


 
Appel :
 

Code :
  1. sql = "select champ from table where filtre = " & quote(chaine)

Reply

Marsh Posté le 31-08-2003 à 18:12:01    

ok, cool !
 
Suffit de remplacer les ' par des ''
 
Thx

Reply

Marsh Posté le 31-08-2003 à 18:59:39    

Nan, ça suffit pas. Utilise la fonction telle que je l'ai marquée.
 
cf. http://forum.hardware.fr/forum2.ph [...] subcat=388
 
Autant faire d'une pierre deux coups

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed