Öffnen eines Recordsets

Vergleich von Standardprozeduren ADO/DAO 

Für 32Bit und 64Bit Office Versionen

Wichtig sind die jeweiligen Verweise:
DAO:
MS DAO Object Library X.X
ADO:
MS ActiveX Data Objects X.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

Wir verwenden Cookies

Wir verwenden Cookies, um Ihr Surferlebnis zu verbessern und den Website-Verkehr zu analysieren. Bitte wählen Sie aus, welchen Cookie-Kategorien Sie zustimmen möchten.