Importējiet datus no piekļuves Excel (DAO), izmantojot Microsoft Excel VBA

Anonim

CopyFromRecordset, iespējams, ir vienkāršākā metode datu iegūšanai no Access tabulas uz Excel darblapu.

Sub DAOCopyFromRecordSet (DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) 'Piemērs: DAOCopyFromRecordSet "C: \ FolderName \ DataBaseName.mdb", _ "TableName", "FieldName", Range ("Cord Dim db kā datu bāze, rs kā ierakstu kopa Dim intColIndex kā vesels skaitlis Set TargetRange = TargetRange.Cells (1, 1) Set db = OpenDatabase (DBFullName) Set rs = db.OpenRecordset (TableName, dbOpenTable) 'all records' Set rs = db. OpenRecordset ("SELECT * FROM" & TableName & _ "WHERE" & FieldName & _ "= 'MyCriteria'", dbReadOnly) "filtru ieraksti" raksta lauku nosaukumus IntColIndex = 0 Uz rs.Fields.Count - 1 TargetRange.Offset ( 0, intColIndex). Vērtība = rs. Lauki (intColIndex). Nosaukums Tālāk 'rakstīt ierakstu kopu TargetRange.Offset (1, 0).

Ja vēlaties vairāk kontrolēt datu importēšanu, varat pielāgot tālāk norādīto makro.

Sub DAOFromAccessToExcel (DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) 'Piemērs: DAOFromAccessToExcel "C: \ FolderName \ DataBaseName.mdb", _ "TableName", "FieldName", Range ("B" Dim db kā datu bāze, rs kā ierakstu kopa Dim lngRowIndex kā garš iestatījums TargetRange = TargetRange.Cells (1, 1) Set db = OpenDatabase (DBFullName) Set rs = db.OpenRecordset (TableName, dbOpenTable) 'visu ierakstu' Set rs = DB. OpenRecordset ("SELECT * FROM" & _ TableName & "WHERE" & FieldName & _ "= 'MyCriteria'", dbReadOnly) "filtra ieraksti lngRowIndex = 0 Ar rs Ja nē .BOF Tad .MoveFirst Kamēr nav .EOF TargetRange.Offset ( lngRowIndex, 0). Formula =. Lauki (FieldName). MoveNext lngRowIndex = lngRowIndex + 1 Wend beigas ar kopu rs = nekas db. Aizvērt kopu db = nekas beigu apakšdaļa

Makro piemēros tiek pieņemts, ka jūsu VBA projekts ir pievienojis atsauci uz DAO objektu bibliotēku.
To var izdarīt no VBE, izvēloties izvēlni Rīki, atsauces un atlasot Microsoft DAO x.xx Object Library.
Izmantojiet ADO, ja datu importēšanai vai eksportēšanai varat izvēlēties starp ADO un DAO.