[ACCESS 2007] INSERT INTO caractère spéciaux

Résolu/Fermé
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 - 11 sept. 2008 à 17:07
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 - 18 sept. 2008 à 10:13
Bonjour,

j'aimerais savoir la syntaxe pour inserer des caractères spéciaux (#, ', " <,>, etc.)
En effet ma zone de texte dans laquelle je veux inserer sa valeur dans une table est truffé de balises, car son format est texte enrichi(html)

J'ai essayé d'avoir recour à plusieur solutions, mais aucune d'elles ne fonctionne :

Insert into....values('" & monChamps & "')
Insert into ... values(""" & monChamps & """)
Insert into ... values('' & monChamps & '')

les erreur sont divers :
trop peu de paramètre, opérateur absent, etc ...

Il y a t-il une solutions ???? merci de m'aider
A voir également:

9 réponses

Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
12 sept. 2008 à 10:18
Euhhh... Pour les quottes, je fais comment....?
1
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
18 sept. 2008 à 09:39
J'espère avec un "è" pas j'espaire !!!! :-D
Bref... Tout ça pour dire qu'en faite j'ai trouver la réponse
Je récapitule pour ceux qui auront besoin d'aide :


Sur Access 2007 lorsque vous vous inserer les valeurs d'un zone de texte au format enrichi dans une table, champs mémo evidement il faut :

Valeur1 = Remplace(me.ZoneTexte,"'","''")
Currentdb.execute"INSERT INTO MaTable1 (MonChamps1) VALUES ('" & Valeur1 & "')


Voilà merci à tous pour votre aide
0
blux Messages postés 26545 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 22 décembre 2024 3 318
18 sept. 2008 à 09:53
Tu l'as trouvée où ta fonction 'remplace' ?

Elle n'existe pas en standard dans VBA.
-1
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
18 sept. 2008 à 10:13
Non bien vu, je me suis trompée c'est vrai que de programmer en anglais avec de faux amis, cela crée des étourderies .
C'est la fonction Replace et non Remplace
0
blux Messages postés 26545 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 22 décembre 2024 3 318
11 sept. 2008 à 17:13
Salut,

t'es en VBA ?

Parce que tu peux construire ta requête avec chr(34) comme séparateur de chaine...

toto = chr(34) & monchamp & chr(34)
req = "insert into .... values(" & toto & ")"
-1

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

Posez votre question
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
12 sept. 2008 à 09:43
Oui je suis vba, mais cela empecherais un bug au niveau de l'insertion de caractère spéciaux dans la table
-1
blux Messages postés 26545 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 22 décembre 2024 3 318
12 sept. 2008 à 10:06
T'as testé ?
-1
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
12 sept. 2008 à 10:38
Non cela ne marche pas, Erreur de syntaxe, opérateur absent, je crois que c'est impossible...
-1
blux Messages postés 26545 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 22 décembre 2024 3 318
12 sept. 2008 à 10:45
Tu peux mettre tes lignes de code ?

J'ai toujours utilisé chr(34) pour les doubles-quotes dans ces cas-là et je n'ai jamais eu de souci...
-1
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
12 sept. 2008 à 10:56
Euh double quotes c'est deux apostrophes ....?

Mon code :
message = Char(34) & me.message & Char(34)

Currentdb.execute"update message set objet_message='" & me.objet & "', nom_message='" & me.message & "', message='' & message & '' where id_message = ' & me.liste_message.colmun(0) & '



Si je fais un début print

message = <div> align=center><font face="Time New Roman"> etc .....
-1
blux Messages postés 26545 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 22 décembre 2024 3 318
12 sept. 2008 à 11:17
c'est les guillemets de la touche 3...

me.liste_message.colmun(0) ou column ?

le mieux que tu aies à faire, c'est de préparer ta chaine de requête et ensuite de l'afficher avec un msgbox, comme ça tu verras la tête qu'elle a, parce que là, tu t'emmêles les pinceaux avec les simple quotes et les doubles quotes...

strsql = "UPDATE message SET objet..."
strsql = strsql + " la suite..."
msgbox strsql

currendb.execute (strsql)

-1
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
12 sept. 2008 à 11:06
j'ai oublier de preciser l'erreur :

erreur d'execution '3075':
Erreuir de syntaxe(opérateur absent)
-1
manelsousse Messages postés 59 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 18 août 2009
12 sept. 2008 à 17:54
bonjour
pour inserer des caractéres specaux dan la base il faut que tu met la fonction addslashes devant ton parametre
exemple:
tu as une variable $nom1 que tu va l'ajouter dans la table
$nom2=addslashes($nom1);
et tu insert $nom dans la base
remarque:
pour enlever les antislashes utiliser la fonction stripslashes
j'espaire vous avoir aider
-1
blux Messages postés 26545 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 22 décembre 2024 3 318
12 sept. 2008 à 21:48
Pas trop, ici, on est en VBA, pas en PHP !
-1