Prog vba

manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008 - 27 févr. 2008 à 15:24
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 27 févr. 2008 à 16:15
Bonjour,

J'ai un petit souci concernant une application que je suis en train de développer, lorsque j'insere un nom dans ma table j'execute les lignes suivantes :

SQL1 = "INSERT INTO locaux (Prenom ,Patronyme ,[Code Rivoli],Marital) VALUES ('" & PRENOM & "','" & PATRONYME & "','" & RIVOLI & "','" & MARITAL & "');"

DoCmd.SetWarnings False

DoCmd.RunSQL SQL1

Ces ligne marche correctement le probleme se pose lorsque le nom s'ecrit par exemple L'ETANG il y a alors le message d'erreur suivant

"erreur de syntaxe(opérateur absent) dans l'expression
"L'ETANG','136',");'

je comprend bien l'erreur qui provient de l'apostrophe du nom qu'il prend pour une ouverture et qui dans se cas la ne l'ai pas.

Merci pour votre aide

-------
Manhino
-------

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 févr. 2008 à 15:47
Bonjour

Je dis peut être une connerie, mais si tu fais '' (2 ') à la place d'un seul, cela devrait fonctionner, regarde Replace pour le remplacement.
Sinon, tu peux essayer \'

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
manhino Messages postés 63 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 7 août 2008
27 févr. 2008 à 15:59
j'ai bien compris se que tu me dit de faire c'est pas possible dans mon cas car je n'intervient pas manuellement sur le nom.

Je n'ai peut etre pas tout mis pour etre compris le mieu possible.

en faite j'ai une base (election ) dans lequelle j'ai mes données et dans lequelle je récupere les éléments dans la requete suivante

SQL = "SELECT CPL_RUE_DOMICILE, PRENOM, PATRONYME, RIVOLI,MARITAL FROM Election "

Certaine de ses données je vais les inseres dans une autre base de donnée (locaux) avec la requete suivante :

SQL1 = "INSERT INTO locaux (Prenom ,Patronyme ,[Code Rivoli],Marital) VALUES ('" & PRENOM & "','" & PATRONYME & "','" & RIVOLI & "','" & MARITAL & "');"

DoCmd.SetWarnings False

DoCmd.RunSQL SQL1

Donc le truc est que se n'est pas pas moi qui marque l'apostrophe, je n'ai pas le droit de modifier la base de référence (election).
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 févr. 2008 à 16:15
Bonjour

Ton pb c'est donc uniquement du SQL si j'ai bien compris ? Dans ce cas, je te conseillerais de regarder sur http://www.sqlfr.com
dsl, mais si c'est le cas, je n'ai aucune réponse pour toi.

Tu peux tester :
SQL1 = "INSERT INTO locaux (Prenom ,Patronyme ,[Code Rivoli],Marital)
VALUES ('" & replace(PRENOM,"'","''") & "','" &replace( PATRONYME,"'","''") & "','" &
replace(RIVOLI,"'","''") & "','" & replace(MARITAL,"'","''") & "');"
?

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Rejoignez-nous