Guillemets qui coupent une chaine !

Résolu
attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014 - 8 oct. 2004 à 09:12
attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014 - 8 oct. 2004 à 19:01
Après avoir lu de nombreux posts, pas moyen de trouver une solution à mon problème de guillemet(dits doublequote).
Le visiteur doit remplir un champ texte et le valider pour l'inscrire dans une table access. Si ce champ contient " il coupe la chaine saisie juste après le ".
Voici mon code :
le formulaire :
<textarea name="intro" id="intro"></textarea>

On récupère la chaine :
intro = Request.Form("intro")

la requete d'insertion :
Dim sql,news
sql = "SELECT * FROM nouvelle"
Set news = Server.CreateObject("ADODB.Recordset")
news.Open sql, conn, 3, 3
news.AddNew
news.fields("intro")=intro
news.Update
news.close
set news=nothing

J'ai essayé ça pour remplacer le caractère doublequote :
intro = Replace(intro, """, "''")
afin de remplacer le doublequote(ou " ou "") par deux apostrophes... en vain !
Merci pour votre aide,
Matthieu.

5 réponses

attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014
8 oct. 2004 à 19:01
Pour pas qu'il me quadruple les simple quote le code est le suivant :

intro = Replace(intro, " " " ", " ' ' ") (toujours avec les espaces)
Sans les espaces
intro = Replace(intro, """", "''")

Merci à toi Bud !
Matthieu
3
attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014
8 oct. 2004 à 09:13
en fait dans le replace, il faut lire dans le premier guillemet le code ascii du doublequote (automatiquement converti ici !!!!)
@+
matthieu
0
cs_Bud Messages postés 224 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 14 juillet 2006
8 oct. 2004 à 10:23
Ca (pour plus de lisibilités, j'ai mis des espaces qu'il faut supprimer)
intro = Replace(intro, " ' ", " ' ' ")

En gros, sans les espaces, ça donne ça:
intro = Replace(intro, "'", "''")
0
attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014
8 oct. 2004 à 12:39
Merci pour la réponse, mais je veux en fait changer le " en ' ' et non pas les ' en ' '.
Merci d'avance !
@+
matthieu
0

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

Posez votre question
cs_Bud Messages postés 224 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 14 juillet 2006
8 oct. 2004 à 13:58
Alors intro = Replace(intro, " " " ", " ' ' ' ' ") (toujours avec les espaces)
Sans les espaces
intro = Replace(intro, """", "''''")
0
Rejoignez-nous