Gegevens importeren uit Access to Excel (ADO) met VBA in Microsoft Excel

Anonim

Met de onderstaande procedure kunt u gegevens uit een Access-tabel importeren naar een werkblad.

Sub ADOimportFromAccessTable(DBFullName As String, _ TableName As String, TargetRange As Range) ' Voorbeeld: 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) ' open de database Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ DBFullName & ";" Set rs = New ADODB.Recordset Met rs ' open de recordset .Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable ' all records '.Open "SELECT * FROM " & TableName & _ " WHERE [FieldName] = 'MyCriteria'", cn, , , adCmdText ' filter records RS2WS rs, TargetRange ' schrijf gegevens van de recordset naar het werkblad '' optionele aanpak voor Excel 2000 of later (RS2WS is niet nodig) ' For intColIndex = 0 To rs.Fields.Count - 1 ' de veldnamen ' TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name ' Next ' TargetRange.Offset(1, 0).CopyFromRecordset rs ' de recordset data End With rs.Close Set rs = Nothing cn.Close Set cn = Niets Einde Sub

De macrovoorbeelden gaan ervan uit dat uw VBA-project een verwijzing naar de ADO-objectbibliotheek heeft toegevoegd.
U kunt dit doen vanuit de VBE door het menu Tools, References te selecteren en Microsoft . te selecteren
ActiveX-gegevensobjecten x.x-objectbibliotheek.
Gebruik ADO als u kunt kiezen tussen ADO en DAO voor het importeren of exporteren van gegevens.