Excel2007 - Excel VBA Tabelle in MySQL Datenbank schreiben
Hallo Zusammen,
ich versuche vergebens eine komplette Tabelle in eine MySQL Datenbank zu schreiben bekomme aber immer wieder folgenden Fehler:
[MySQL[ODBC 5.3(w) Driver][mysqld-5.6.16]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Tabelle1$]' at Line 1
Hier mein Code:
Private Sub abfrage()
Dim xlsstring As String
Dim xlsrecordsetarray
Dim xlsadodbconnection As New ADODB.Connection
Dim xlsrecordset As New ADODB.Recordset
Dim xlssource As String
Dim xlsconnect As String
Dim sqlstring As String
Dim sqlrecordsetarray
Dim sqladodbconnection As New ADODB.Connection
Dim sqlrecordset As New ADODB.Recordset
Dim sqlsource As String
Dim sqlconnect As String
xlssource = ThisWorkbook.FullName
'xlssource ="C:\mappe1.xls"
'SQL Verbindung für Exceldatei als Quelle
xlsconnect = "PROVIDER=MSDASQL.1;" & _
"DSN=Excel Files;" & _
"DBQ=" & xlssource & ";" & _
"HDR=Yes;"
sqlconnect = "DRIVER={MySQL ODBC 5.3 Driver};" & _
"DATA SOURCE=MySQL ODBC;" & _
"SERVER=localhost;" & _
"PORT=3306;" & _
"UID=root;" & _
"PWD=root;" & _
"DATABASE=test;"
xlsadodbconnection.Open xlsconnect
sqladodbconnection.Open sqlconnect
sqlstring = "INSERT INTO test (ID, text) SELECT id, text FROM [Tabelle1$]"
sqlrecordset.Open sqlstring, sqladodbconnection
xlsrecordset.Close
xlsadodbconnection.Close
sqladodbconnection.Close
End Sub
kann mir jemand sagen was ich falsch mache?
Danke im Vorraus!
ich versuche vergebens eine komplette Tabelle in eine MySQL Datenbank zu schreiben bekomme aber immer wieder folgenden Fehler:
[MySQL[ODBC 5.3(w) Driver][mysqld-5.6.16]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Tabelle1$]' at Line 1
Hier mein Code:
Private Sub abfrage()
Dim xlsstring As String
Dim xlsrecordsetarray
Dim xlsadodbconnection As New ADODB.Connection
Dim xlsrecordset As New ADODB.Recordset
Dim xlssource As String
Dim xlsconnect As String
Dim sqlstring As String
Dim sqlrecordsetarray
Dim sqladodbconnection As New ADODB.Connection
Dim sqlrecordset As New ADODB.Recordset
Dim sqlsource As String
Dim sqlconnect As String
xlssource = ThisWorkbook.FullName
'xlssource ="C:\mappe1.xls"
'SQL Verbindung für Exceldatei als Quelle
xlsconnect = "PROVIDER=MSDASQL.1;" & _
"DSN=Excel Files;" & _
"DBQ=" & xlssource & ";" & _
"HDR=Yes;"
sqlconnect = "DRIVER={MySQL ODBC 5.3 Driver};" & _
"DATA SOURCE=MySQL ODBC;" & _
"SERVER=localhost;" & _
"PORT=3306;" & _
"UID=root;" & _
"PWD=root;" & _
"DATABASE=test;"
xlsadodbconnection.Open xlsconnect
sqladodbconnection.Open sqlconnect
sqlstring = "INSERT INTO test (ID, text) SELECT id, text FROM [Tabelle1$]"
sqlrecordset.Open sqlstring, sqladodbconnection
xlsrecordset.Close
xlsadodbconnection.Close
sqladodbconnection.Close
End Sub
kann mir jemand sagen was ich falsch mache?
Danke im Vorraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245961
Url: https://administrator.de/forum/excel2007-excel-vba-tabelle-in-mysql-datenbank-schreiben-245961.html
Ausgedruckt am: 12.04.2025 um 16:04 Uhr
2 Kommentare
Neuester Kommentar
Moin,
du führst dein INSERT Query in per ado am MySQL Server aus - und der kennt den Syntax mit (und auch die Tabelle "Tabelle1$" die wohl aus dem Excel file stammt) nicht.
M.E. musst du die Excel_Tabelle Zeile für Zeile einlesen und dann einzeln per INSERT iin die MySQL schreiben. Oder du lässt den Umweg über Access und machst das so: http://dev.mysql.com/doc/refman/5.0/en/loading-tables.html
lg,
Slainte
du führst dein INSERT Query in per ado am MySQL Server aus - und der kennt den Syntax mit (und auch die Tabelle "Tabelle1$" die wohl aus dem Excel file stammt) nicht.
M.E. musst du die Excel_Tabelle Zeile für Zeile einlesen und dann einzeln per INSERT iin die MySQL schreiben. Oder du lässt den Umweg über Access und machst das so: http://dev.mysql.com/doc/refman/5.0/en/loading-tables.html
lg,
Slainte