Med proceduren herunder kan du importere data fra en Access -tabel til et regneark.
Sub ADOImportFromAccessTable (DBFullName As String, _ TableName As String, TargetRange As Range) 'Eksempel: ADOImportFromAccessTable "C: \ FolderName \ DataBaseName.mdb", _ "TableName", Range ("C1") Dim cn som ADODB.Connection, rs Som ADODB.Recordset, intColIndex As Integer Set TargetRange = TargetRange.Cells (1, 1) 'åbner databasesættet cn = Ny ADODB.Connection cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Datakilde =" & _ DBFullName & ";" Indstil rs = Ny ADODB.Recordset Med rs 'åbner du recordset .Open TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable' alle poster '. Åbn "SELECT * FROM" & TableName & _ "WHERE [FieldName] =' MyCriteria '", cn,,, adCmdText 'filter registrerer RS2WS rs, TargetRange' skrive data fra rekordsættet til regnearket '' valgfri tilgang til Excel 2000 eller nyere (RS2WS er ikke nødvendig) 'For intColIndex = 0 Til rs.Fields.Count - 1' feltnavnene 'TargetRange.Offset (0, intColIndex) .Value = rs.Fields (intColIndex) .Name' Next 'TargetRange.Offset (1, 0) .CopyFromRecordset rs' recordset data End With rs.Close Set rs = Nothing cn.Close Set cn = Intet slut Sub
Makroeksemplerne forudsætter, at dit VBA -projekt har tilføjet en reference til ADO -objektbiblioteket.
Du kan gøre dette inde fra VBE ved at vælge menuen Værktøjer, Referencer og vælge Microsoft
ActiveX Data Objects x.x Object Library.
Brug ADO, hvis du kan vælge mellem ADO og DAO til dataimport eller eksport.