Pb de Syntaxe dans l'instruction INSERT INTO

Résolu/Fermé
KlaiM - Modifié par KlaiM le 2/05/2016 à 19:04
 KlaiM - 2 mai 2016 à 20:13
Bonjour,

Voilà pour le boulot je souhaiterai renseigner une base de données EXCEL avec des champs d'un formulaire WORD. j'ai trouvé un tuto sur internet qui marchait bien au début mais voilà après avoir rajouté des valeurs, je me retrouve avec une erreur de syntaxe dans l'instruction INSERT INTO mais je ne la visualise pas.

Si vous avez l'oeil ce serait super d'avoir vos lumières pour la localiser..Je suis vraiment néophyte dans le domaine. Merci par avance !

Je vous mets le code ci-dessous:


Sub TransferToExcel()
'Transfer a single record from the form fields to an Excel workbook.
Dim doc As Document
Dim strTitre As String
Dim strBassin As String
Dim strSource As String
Dim strThematique As String
Dim strType As String
Dim strAnnee As String
Dim strResume As String
Dim strDuree As String
Dim strPublic As String
Dim strTarif As String
Dim strRef As String
Dim strContact As String
Dim strSQL As String
Dim cnn As ADODB.Connection
'Get data.
Set doc = ThisDocument
On Error GoTo ErrHandler
strTitre = Chr(39) & doc.FormFields("txtTitre").Result & Chr(39)
strBassin = Chr(39) & doc.FormFields("txtBassin").Result & Chr(39)
strSource = Chr(39) & doc.FormFields("txtSource").Result & Chr(39)
strThematique = Chr(39) & doc.FormFields("txtThematique").Result & Chr(39)
strType = Chr(39) & doc.FormFields("txtType").Result & Chr(39)
strAnnee = Chr(39) & doc.FormFields("txtAnnee").Result & Chr(39)
strResume = Chr(39) & doc.FormFields("txtResume").Result & Chr(39)
strDuree = Chr(39) & doc.FormFields("txtDuree").Result & Chr(39)
strPublic = Chr(39) & doc.FormFields("txtPublic").Result & Chr(39)
strTarif = Chr(39) & doc.FormFields("txtTarif").Result & Chr(39)
strRef = Chr(39) & doc.FormFields("txtRef").Result & Chr(39)
strContact = Chr(39) & doc.FormFields("txtContact").Result & Chr(39)
'Define sql string used to insert each record in the destination workbook.
'Don't omit the $ in the sheet identifier.
strSQL = "INSERT INTO [DonneesGRP$]" _
& "(Titre, Bassin, Source, Thematique, Type, Annee, Resume, Duree, Public, Tarif, Ref, Contact)" _
& " VALUES (" _
& strTitre & ", " _
& strBassin & ", " _
& strSource & ", " _
& strThematique & ", " _
& strType & ", " _
& strAnnee & ", " _
& strResume & ", " _
& strDuree & ", " _
& strPublic & ", " _
& strTarif & ", " _
& strRef & ", " _
& strContact _
& ")"
Debug.Print strSQL
'Define connection string and open connection to destination workbook file.
Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=C:\Users\KlaiM\Desktop\Destination\DonneesGRP.xlsx;" & _
"Extended Properties=Excel 8.0;"
.Open
'Transfer data.
.Execute strSQL
End With
Set doc = Nothing
Set cnn = Nothing
Exit Sub
ErrHandler:
MsgBox Err.Number & ": " & Err.Description, _
vbOKOnly, "Error"
On Error GoTo 0
On Error Resume Next
cnn.Close
Set doc = Nothing
Set cnn = Nothing
End Sub





1 réponse

C'est bon j'ai trouvé après quelques heures de bataille! Désolée d'avoir spam le fofo pour rien.
0