Guillemets qui coupent une chaine ! [Résolu]

Signaler
Messages postés
21
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
8 mars 2014
-
Messages postés
21
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
8 mars 2014
-
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

Messages postés
21
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
8 mars 2014

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
Messages postés
21
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
8 mars 2014

en fait dans le replace, il faut lire dans le premier guillemet le code ascii du doublequote (automatiquement converti ici !!!!)
@+
matthieu
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

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, "'", "''")
Messages postés
21
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
8 mars 2014

Merci pour la réponse, mais je veux en fait changer le " en ' ' et non pas les ' en ' '.
Merci d'avance !
@+
matthieu
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006

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