Importer data fra Access to Excel (ADO) ved hjelp av VBA i Microsoft Excel

Anonim

Med fremgangsmåten nedenfor kan du importere data fra en Access -tabell 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 As ADODB.Connection, rs Som ADODB.Recordset, intColIndex As Integer Set TargetRange = TargetRange.Cells (1, 1) 'åpner databasesettet cn = New ADODB.Connection cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Datakilde =" & _ DBFullName & ";" Sett rs = Ny ADODB.Recordset Med rs 'åpner du rekordsettet. Åpne tabellnavn, cn, adOpenStatic, adLockOptimistic, adCmdTable' alle poster '. Åpne "SELECT * FROM" & TableName & _ "WHERE [FieldName] =' MyCriteria '", cn,,, adCmdText 'filter registrerer RS2WS rs, TargetRange' skrive data fra rekordsettet til regnearket '' valgfri tilnærming for 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 = Nothing End Sub

Makroeksemplene antar at VBA -prosjektet ditt har lagt til en referanse til ADO -objektbiblioteket.
Du kan gjøre dette fra VBE ved å velge menyen Verktøy, Referanser og velge Microsoft
ActiveX Data Objects x.x Object Library.
Bruk ADO hvis du kan velge mellom ADO og DAO for dataimport eller eksport.