Импортирайте данни от Access to Excel (ADO) с помощта на VBA в Microsoft Excel

Anonim

С процедурата по -долу можете да импортирате данни от таблица на Access в работен лист.

Sub ADOImportFromAccessTable (DBFullName As String, _ TableName As String, TargetRange As Range) 'Пример: ADOImportFromAccessTable "C: \ Име на папка \ DataBaseName.mdb", _ "Име на таблица", Обхват ("C1") Cnc As Като ADODB.Recordset, intColIndex As Integer Set TargetRange = TargetRange.Cells (1, 1) 'отворете базата данни Set cn = New ADODB.Connection cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & _ DBFullName & ";" Задайте rs = нов ADODB.Recordset С rs 'отворете набора от записи. Отворете TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable' всички записи '. Отворете "SELECT * FROM" & TableName & _ "WHERE [FieldName] =' MyCriteria '", cn,,, adCmdText "филтрира записи RS2WS rs, TargetRange" записва данни от набора от записи в работния лист "" незадължителен подход за Excel 2000 или по -нова версия (RS2WS не е необходим) "За intColIndex = 0 За rs.Fields.Count - 1" имената на полета „TargetRange.Offset (0, intColIndex) .Value = rs.Fields (intColIndex). Име„ Next “TargetRange.Offset (1, 0) .CopyFromRecordset rs“ данните от набора от записи Завършват с rs.Close Set rs = Nothing cn.Close Set cn = Нищо Край Sub

Примерите за макрос предполагат, че вашият VBA проект е добавил препратка към обектната библиотека ADO.
Можете да направите това от VBE, като изберете менюто Инструменти, Препратки и изберете Microsoft
ActiveX Data Objects x.x Object Library.
Използвайте ADO, ако можете да избирате между ADO и DAO за импортиране или експортиране на данни.