Atlikdami toliau nurodytą procedūrą, galite importuoti duomenis iš „Access“ lentelės į darbalapį.
Sub ADOImportFromAccessTable (DBFullName As String, _ TableName As String, TargetRange As Range) 'Pavyzdys: ADOImportFromAccessTable "C: \ FolderName \ DataBaseName.mdb", _ "TableName", Range ("C1") Dim cn As ADODB.Conne Kaip ADODB.Recordset, intColIndex As Integer Set TargetRange = TargetRange.Cells (1, 1) 'atidarykite duomenų bazę Set cn = New ADODB.Connection cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Duomenų šaltinis =" & _ DBFullName & ";" Nustatykite rs = Naujas ADODB.Recordset Su rs 'atidarykite įrašų rinkinį. Atidarykite TableName, cn, adOpenStatic, adLockOptimistic, adCmdTable' visi įrašai '. Atidarykite "SELECT * FROM" & TableName & _ "WHERE [FieldName] =' MyCriteria '", cn,,, adCmdText "filtras įrašo RS2WS RS, TargetRange" įrašo duomenis iš įrašų rinkinio į darbalapį "pasirenkamas metodas, skirtas" Excel 2000 "arba naujesnei versijai (RS2WS nebūtinas)" For intColIndex = 0 To rs.Fields.Count - 1 ' laukų pavadinimai „TargetRange.Offset“ (0, intColIndex) .Value = rs.Fields (intColIndex). Pavadinimas „Kitas“ TargetRange.Offset (1, 0). CopyFromRecordset rs “įrašų rinkinio duomenys baigiami rs.Close Set rs = Nothing cn. Uždaryti rinkinį cn = Nothing End Sub
Makro pavyzdžiai daro prielaidą, kad jūsų VBA projektas pridėjo nuorodą į ADO objektų biblioteką.
Tai galite padaryti iš VBE, pasirinkę meniu Įrankiai, Nuorodos ir pasirinkę „Microsoft“
„ActiveX“ duomenų objektai x.x objektų biblioteka.
Jei norite importuoti arba eksportuoti duomenis, naudokite ADO arba DAO.