Uvezite podatke iz programa Access to Excel (DAO) pomoću VBA u programu Microsoft Excel

Anonim

CopyFromRecordset vjerojatno je najjednostavniji način dobivanja podataka iz Accessove tablice na radni list programa Excel.

Pod DAOCopyFromRecordSet (DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) 'Primjer: DAOCopyFromRecordSet "C: \ Ime mape \ DataBaseName.mdb", _ "Ime_tabele", "Ime polja Dim db kao baza podataka, rs kao skup zapisa Dim intColIndex kao cijeli broj Set TargetRange = TargetRange.Cells (1, 1) Set db = OpenDatabase (DBFullName) Set rs = db.OpenRecordset (TableName, dbOpenTable) 'svi zapisi' Set rs = db. OpenRecordset ("SELECT * FROM" & TableName & _ "WHERE" & FieldName & _ "= 'MyCriteria'", dbReadOnly) 'zapisi filtera' upisuju nazive polja za intColIndex = 0 Za rs.Fields.Count - 1 TargetRange.Offset ( 0, intColIndex) .Varue = rs.Fields (intColIndex) .Name Next 'upišite zapis zapisa TargetRange.Offset (1, 0) .CopyFromRecordset rs Postavi rs = Ništa db.Zatvori skup db = Ništa Kraj Pod

Ako želite više kontrole s uvozom podataka, možete prilagoditi donju makronaredbu:

Pod DAOFromAccessToExcel (DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) 'Primjer: DAOFromAccessToExcel "C: \ Ime mape \ DataBaseName.mdb", _ "Ime_Tabele", "Ime polja Dim db kao baza podataka, rs kao skup zapisa Dim lngRowIndex kao dugo postavljeno TargetRange = TargetRange.Cells (1, 1) Set db = OpenDatabase (DBFullName) Set rs = db.OpenRecordset (TableName, dbOpenTable) 'svi zapisi' Set rs = DB. OpenRecordset ("SELECT * FROM" & _ TableName & "WHERE" & FieldName & _ "= 'MyCriteria'", dbReadOnly) 'zapisuje filtar lngRowIndex = 0 S rs Ako nije .BOF Zatim .MoveFirst While Not .EOF TargetRange.Offset ( lngRowIndex, 0) .Formula = .Polja (Ime polja) .MoveNext lngRowIndex = lngRowIndex + 1 završetak Wenda sa skupom rs = Ništa db.Zatvori skup db = Ništa ne završava pod

Primjeri makroa pretpostavljaju da je vaš VBA projekt dodao referencu u biblioteku objekata DAO.
To možete učiniti unutar VBE -a odabirom izbornika Alati, Reference i odabirom Microsoft DAO x.xx Knjižnica objekata.
Upotrijebite ADO ako možete birati između ADO -a i DAO -a za uvoz ili izvoz podataka.