Aufgabenstellung
Von einer Office/VBA-Anwendung aus, soll auf eine Microsoft Access Datenbank (.mdb-Datei) zugegriffen werden.
Vorraussetzungen
Im VBA Editor im Menüpunkt Verweise wird die Option Microsoft ActiveX ADO Objects angehakt.
Lösung
Selektionsanweisung
Public Sub HoleDaten()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer
' Datei liegt im aktuellen Projektverzeichnis
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentProject.Path & _
"\diedatei.mdb"
Set rs = cn.Execute("SELECT * FROM einetabelle")
i = 1
Do While Not rs.EOF
Cells(i, 1).Value = rs.Fields("Feld1")
Cells(i, 2).Value = rs.Fields("Feld2")
Cells(i, 3).Value = rs.Fields("Feld3")
Cells(i, 4).Value = rs.Fields("Feld4")
rs.MoveNext
i = i + 1
Loop
cn.Close
End Sub
Manipulationsanweisung
Public Sub SchubseInMDB()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=unfug.mdb"
Set rs = cn.Execute("INSERT INTO einetabelle(zweck)VALUES ('Unsinn')")
cn.Close
End Sub