Herbers Excel-Forum - das Archiv

Excel und MySQL

Bild

Betrifft: Excel und MySQL
von: Marcus

Geschrieben am: 14.04.2005 18:11:53
Hallo zusammen,
ich habe mal eine grundsätzliche Frage zu Excel in Verbindung mit MySQL. Ich möchte eine MySQL Datenbank mit einem Excel-Formular pflegen, dh. Daten abfragen, Daten ändern, Daten löschen und Daten neu anlegen. Die Daten abfragen ist soweit kein Problem. Das erledigt Microsoft Query wunderbar. In der Query kann ich auch SQL-Befehle eingeben, die die Datensätze veränden bzw. löschen können. Versuche ich diese Befehle jedoch über ein VBA-Modul an Query zu übergeben, bekomme ich Fehlermeldungen.
Kann ich mein Vorhaben überhaupt umsetzen, oder muß nun doch in die PHP-Programmierung einstegen?
Gruß Marcus
Bild

Betrifft: AW: Excel und MySQL
von: EtoPHG

Geschrieben am: 14.04.2005 18:27:54
Hallo Marcus,
Das kannst Du schon in VBA und ODBC machen, aber nicht einfach mit dem ändern des Query-objekts.
Ein minimaler Code könnte etwa so aussehen.
Sub dbUpdate()
Dim dbWS As Workspace
Dim conDB As Connection
Dim sSQL As String
'   Create ODBCDirect Workspace object.
On Error GoTo SQLErrorHandler
Set dbWS = CreateWorkspace("myWorkspace", "Excel", "", dbUseODBC)
'   Take connection settings from existing query
sConnect = ActiveSheet.QueryTables(1).Connection
'   Connect to database
Set conDB = dbDB.OpenConnection("myConnection", dbDriverNoPrompt, , sConnect)
'   SQL construction (Enter, or construct your SQL here
sSQL = "DELETE from TABLE1 WHERE key=1"
'   Execute the SQL
conDB.Execute sSQL
'   Commit transaction
conDB.Execute "Commit"
'   Close connection
conDB.Close
End Sub

Dazu musst du noch auf die Microsoft DAO library im VBE verweisen.
Gruss Hansueli
Bild

Betrifft: AW: Excel und MySQL
von: Marcus
Geschrieben am: 18.04.2005 18:00:44
Hallo Hansueli,
Dein Vorschlag ist aller erste Sahne. Der Code läuft wie Sau. Somit bleibt mir die SQL-Welt mit Excel nicht länger verschlossen. Ich danke Dir sehr.
Gruß Marcus
 Bild