Problème quand guillemet

Le
Opus
Bonjour à tous,

Voici un exemple (très simplifié)

CHAMP= "MonChampDeDestination"
CONTENUCHAMP= "Contrat"

CurrentDb.Execute "INSERT INTO [MaTable] (" & CHAMP & ") VALUES (" &
CONTENUCHAMP & "); "

Ceci crée un enregistrement dans le champ "MonChampDeDestination" de la
table "MaTable" -> OK

Par contre, CONTENUCHAMP= "Contrat d'entretien" produit une erreur. (A cause
de la guillemet).

Comment éviter la chose?

Bien à vous.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #6193981
Bonjour,

Faire:
CurrentDb.Execute "INSERT INTO [MaTable] ([" & CHAMP &"]) VALUES (" &
chr(34) & CONTENUCHAMP & chr(34) & "); "

ou
CurrentDb.Execute "INSERT INTO [MaTable] (" & CHAMP & ") VALUES (""" &
CONTENUCHAMP & """); "

CHR(34) est l'équivalent du guillemet.
Les [] autour de champ c'est pour plus de sécurité s'il vient à contenir
un espace ou un caratère exotique.


Bonjour à tous,

Voici un exemple (très simplifié)

CHAMP= "MonChampDeDestination"
CONTENUCHAMP= "Contrat"

CurrentDb.Execute "INSERT INTO [MaTable] (" & CHAMP & ") VALUES (" &
CONTENUCHAMP & "); "

Ceci crée un enregistrement dans le champ "MonChampDeDestination" de la
table "MaTable" -> OK

Par contre, CONTENUCHAMP= "Contrat d'entretien" produit une erreur. (A cause
de la guillemet).

Comment éviter la chose?

Bien à vous.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

ze Titi
Le #6193971
Salut Opus !

La solution consiste à entourer le champ non par un apostrophe mais par
des guillemets :

CurrentDb.Execute "INSERT INTO [MaTable] (" & CHAMP & ") VALUES (" &
chr(34) & CONTENUCHAMP & chr(34) & "); "

en sachant que chr(34) correspond aux guillemets en ASCII.

En ce jour exceptionnel du lundi 12/03/2007, tu nous as très
généreusement gratifié du message suivant:

Bonjour à tous,

Voici un exemple (très simplifié)

CHAMP= "MonChampDeDestination"
CONTENUCHAMP= "Contrat"

CurrentDb.Execute "INSERT INTO [MaTable] (" & CHAMP & ") VALUES (" &
CONTENUCHAMP & "); "

Ceci crée un enregistrement dans le champ "MonChampDeDestination" de la
table "MaTable" -> OK

Par contre, CONTENUCHAMP= "Contrat d'entretien" produit une erreur. (A cause
de la guillemet).

Comment éviter la chose?

Bien à vous.


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

Opus
Le #6193961
MERCI


Bonjour,

Faire:
CurrentDb.Execute "INSERT INTO [MaTable] ([" & CHAMP &"]) VALUES (" &
chr(34) & CONTENUCHAMP & chr(34) & "); "

ou
CurrentDb.Execute "INSERT INTO [MaTable] (" & CHAMP & ") VALUES (""" &
CONTENUCHAMP & """); "

CHR(34) est l'équivalent du guillemet.
Les [] autour de champ c'est pour plus de sécurité s'il vient à contenir
un espace ou un caratère exotique.


Bonjour à tous,

Voici un exemple (très simplifié)

CHAMP= "MonChampDeDestination"
CONTENUCHAMP= "Contrat"

CurrentDb.Execute "INSERT INTO [MaTable] (" & CHAMP & ") VALUES (" &
CONTENUCHAMP & "); "

Ceci crée un enregistrement dans le champ "MonChampDeDestination" de la
table "MaTable" -> OK

Par contre, CONTENUCHAMP= "Contrat d'entretien" produit une erreur. (A cause
de la guillemet).

Comment éviter la chose?

Bien à vous.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Publicité
Poster une réponse
Anonyme