by eppi » 09. February 2008 17:48
Hallo Wiedmann,
leider komme ich erst jetzt dazu dir zu antworten.
Vielen Dank für deinen Link . Ich habe mir den DRIVER installiert und mich mit der Programmierung beschäftigt.
Ich habe mir die Sub " myodbc_ado_Click" aus Kapitel Connector/ODBC Programming kopiert und in ein Excel-Modul eingefügt und getestet, das klapp alles .
Danach habe ich untenstehende Prozeduren programmiert.
Sub TabelleAnlegenMitZweiDatensätzen läuft fehlerfrei.
Bei den anderen Sub's kommt in der Zeile die mit (***) gekennzeichnet ist folgende Fehlermeldung
" Die Verbindung kann nicht verwendet werden, um diesen Vorgang auszuführen. Sie ist entweder geschlossen oder in diesem Zusammenhang ungültig."
Ich hoffe, dass du mir helfen kannst.
Eppi
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
'---------------------------------------------------------------------------------------
Private Sub TabelleAnlegenMitZweiDatensätzen()
' Connection zu MySQL server
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=localhost;" _
& "DATABASE=Test;" _
& "UID=root;OPTION=3"
' Table anlegen
conn.Open
conn.Execute "DROP TABLE IF EXISTS Namen"
conn.Execute "CREATE TABLE Namen(ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY," _
& "Anrede VARCHAR( 20 ) NOT NULL ," _
& "Vorname VARCHAR( 20 ) NOT NULL ," _
& "Nachname VARCHAR( 20 ) NOT NULL )"
' zwei Datensätze einfügen
conn.Execute "INSERT INTO Namen(Anrede,Vorname,Nachname) values('Herr','Peter','Müller')"
conn.Execute "INSERT INTO Namen(Anrede,Vorname,Nachname) values('Herr','Willi','Meier' )"
conn.Close
End Sub
'---------------------------------------------------------------------------------------
Private Sub DatensatzEinfügen()
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=localhost;" _
& "DATABASE=Test;" _
& "UID=root;OPTION=3"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseServer
' Datensätze auslesen
(***) rs.Open "SELECT * FROM Namen", conn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Anrede = "Frau"
rs!Vorname = "Ilse"
rs!Nachname = "Werner"
rs.Update
rs.Close
conn.Close
End Sub
'---------------------------------------------------------------------------------------
Private Sub DatensatzÄndern()
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=localhost;" _
& "DATABASE=Test;" _
& "UID=root;OPTION=3"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseServer
' Datensätze auslesen
(***) rs.Open "SELECT * FROM Namen WHERE Vorname='Peter'", conn, adOpenDynamic, adLockOptimistic
rs!Anrede = "Herr Dr."
rs.Update
rs.Close
conn.Close
End Sub