Importieren von Daten aus Access to Excel (ADO) mit VBA in Microsoft Excel

Anonim

Mit dem folgenden Verfahren können Sie Daten aus einer Access-Tabelle in ein Arbeitsblatt importieren.

Sub ADOImportFromAccessTable(DBFullName As String, _ TableName As String, TargetRange As Range) ' Beispiel: ADOImportFromAccessTable "C:\FolderName\DataBaseName.mdb", _ "TableName", Range("C1") Dim cn As ADODB.Connection, rs Als ADODB.Recordset, intColIndex As Integer Set TargetRange = TargetRange.Cells(1, 1) ' die Datenbank öffnen Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ DBFullName & ";" Set rs = New ADODB.Recordset Mit rs 'öffnen Sie das Recordset .Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable 'alle Datensätze'.Open "SELECT * FROM" & TableName & _ " WHERE [FieldName] = 'MyCriteria'", cn, , , adCmdText ' Datensätze filtern RS2WS rs, TargetRange ' Daten aus dem Recordset in das Arbeitsblatt schreiben ' ' optionaler Ansatz für Excel 2000 oder höher (RS2WS ist nicht erforderlich) ' For intColIndex = 0 To rs.Fields.Count - 1 ' die Feldnamen ' TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name ' Next ' TargetRange.Offset(1, 0).CopyFromRecordset rs ' die Datensatzdaten End With rs.Close Set rs = Nothing cn.Close Set cn = Nichts End Sub

In den Makrobeispielen wird davon ausgegangen, dass Ihr VBA-Projekt einen Verweis auf die ADO-Objektbibliothek hinzugefügt hat.
Sie können dies innerhalb der VBE tun, indem Sie das Menü Extras, Referenzen auswählen und Microsoft . auswählen
ActiveX-Datenobjekte x.x-Objektbibliothek.
Verwenden Sie ADO, wenn Sie für den Datenimport oder -export zwischen ADO und DAO wählen können.