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

Résolu
Milyshyn Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
Milyshyn Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   3
 
Euhhh... Pour les quottes, je fais comment....?
1
Milyshyn Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   3
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention   3
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention   3
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
T'as testé ?
-1
Milyshyn Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   3
 
Non cela ne marche pas, Erreur de syntaxe, opérateur absent, je crois que c'est impossible...
-1
blux Messages postés 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention   3
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention  
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Pas trop, ici, on est en VBA, pas en PHP !
-1