Vergleich von Standardprozeduren ADO/DAO
Für 32Bit und 64Bit Office Versionen
Wichtig sind die jeweiligen Verweise:
DAO:
MS DAO Object Library 3.X
ADO:
MS ActiveX Data Objects 2.X Library
Problemstellung:
Wie kann ich mit DAO/ADO ein Recordset öffnen?
1. Recordset aus der aktuellen Datenbank
DAO:
Public Sub DAO_OpenCurrentRecordset(sSource As String) Dim db As DAO.Database Dim rst As DAO.Recordset Set db = CurrentDb() Set rst = db.OpenRecordset(sSource) rst.Close End Sub
ADO:
Sub ADO_OpenCurrentRecordset(sSource As String) Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Set cnn = CurrentProject.Connection rst.Open sSource, cnn, adOpenDynamic, adLockOptimistic rst.Close End Sub
Wobei der Parameter "sSource" entweder einen Namen einer Tabelle/Abfrage oder einen SQL-String enthalten kann.
2. Recordset aus einer externen Datenbank
DAO:
Public Sub DAO_OpenRecordset(sDBPath, sSource As String) Dim db As DAO.Database Dim rst As DAO.Recordset Set db = DBEngine.OpenDatabase(sDBPath) Set rst = db.OpenRecordset(sSource) rst.Close End Sub
ADO:
Sub ADO_OpenRecordset(sDBPath, sSource As String) Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & sDBPath & "';" rst.Open sSource, cnn, adOpenForwardOnly, adLockReadOnly rst.Close End Sub
Parameter "sDBPath" muss den kompletten Pfad und Dateinamen der DB enthalten.
Parameter "sSource" enthält Namen einer Tabelle/Abfrage oder einen SQL-String enthalten kann.
Ähnliche Artikel
Weiterlesen...