Bonjour,
Alors, voilà, je suis en ce moment en train de faire migrer un fichier Excel vers une base de données Access. Pour ce faire, j'utilise VBA et Excel car les méthodes de transfert directes ne sont pas adaptées à mon cas.
Mon problème ne réside pas dans la logique de l'algorithme, mais dans une erreur d'execution dont je ne comprend pas la provenance.
Voila le morceau de code incriminé :
Sachant que la MsgBox me sort ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Str_RequeteSQL = "INSERT INTO TRADUCTEUR(ID_TRADUCTEUR,NOM_PRENOM,PROFESSIONEL,ADRESSE,TELEPHONE,SPECIALITE,ADRESSE_MAIL) VALUES('" & id_traducteur & "','" & nom_prenom & "','" & pro & "','" & adresse & "','" & telephone & "','" & specialite & "','" & adresse_mail & "')" MsgBox Str_RequeteSQL Connexion.Execute (Str_RequeteSQL)
et que la structure de la table TRADUCTEUR est :INSERT INTO TRADUCTEUR(ID_TRADUCTEUR,NOM_PRENOM,PROFESSIONEL,ADRESSE,TELEPHONE,SPECIALITE,ADRESSE_MAIL) VALUES('3','CHAPOUL Isabelle','Faux','Les jardins de l'Atrium 2 av des Contamines','06.74.51.11.00','','')
Connexion est un objet ADODB.Connection et Str_RequeteSQL est une variable de type String.---------------------
TRADUCTEUR
---------------------
ID_TRADUCTEUR [entier long]
NOM_PRENOM [Memo]
ID_EMPLACEMENT [Entier long]
PROFESSIONEL [Boolean]
ADRESSE [Memo]
TELEPHONE [Memo]
SPECIALITE [Memo]
ADRESSE_MAIL [Memo]
----------------------
Bref, à l'exécution, j'obtient ce message d'erreur :
Si vous pouviez avoir la gentillesse de me dire, au moins, si mon erreur est dans la requete ou dans le code VB, je vous en serais très reconnaissant.Erreur d'exécution '-2147217900 (80040e14)':
Erreur de syntaxe (opérateur absent) dans l'expression ''Les jardins de l'Atrium 2 av des Contamines','06.74.51.11.00','','')'.
Si, en plus, vous pouviez m'indiquer mon erreur, ce serais vraiment bien, mais je pense qu'avec le peu que j'ai donné cela risque d'être compliqué.
Merci
Ahmed
P.S : les requetes SQL sont codées sur une seule ligne, mais les quotes passent parfois a la ligne tout seuls.
Partager