Εισαγωγή δεδομένων από την πρόσβαση στο Excel (DAO) χρησιμοποιώντας VBA στο Microsoft Excel

Anonim

Το CopyFromRecordset είναι ίσως η ευκολότερη μέθοδος λήψης δεδομένων από έναν πίνακα της Access σε ένα φύλλο εργασίας του Excel.

Sub DAOCopyFromRecordSet (DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) 'Παράδειγμα: DAOCopyFromRecordSet "C: \ FolderName \ DataBaseName.mdb", _ "TableName", "NameName", Range ("C1") Dim db As Database, rs As Recordset Dim intColIndex As Integer Set TargetRange = TargetRange.Cells (1, 1) Set db = OpenDatabase (DBFullName) Set rs = db.OpenRecordset (TableName, dbOpenTable) 'set all records' rs = db OpenRecordset ("SELECT * FROM" & TableName & _ "WHERE" & FieldName & _ "=" MyCriteria "", dbReadOnly) "εγγραφές φίλτρων" εγγραφή ονομάτων πεδίων Για intColIndex = 0 Προς rs.Fields.Count - 1 TargetRange.Offset ( 0, intColIndex) .Value = rs.Fields (intColIndex). Όνομα Επόμενο 'εγγραφή εγγραφής TargetRange.Offset (1, 0). CopyFromRecordset rs Σετ rs = Τίποτα db.Κλείσιμο συνόλου db = Τίποτα Τέλος υπο

Εάν θέλετε περισσότερο έλεγχο με την εισαγωγή δεδομένων, μπορείτε να προσαρμόσετε τη μακροεντολή παρακάτω:

Sub DAOFromAccessToExcel (DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) 'Παράδειγμα: DAOFromAccessToExcel "C: \ FolderName \ DataBaseName.mdb", _ "TableName", "FieldName", Range (" Dim db As Database, rs As Recordset Dim lngRowIndex As Long Set TargetRange = TargetRange.Cells (1, 1) Set db = OpenDatabase (DBFullName) Set rs = db.OpenRecordset (TableName, dbOpenTable) 'Set all records' rs = DB OpenRecordset ("SELECT * FROM" & _ TableName & "WHERE" & FieldName & _ "= 'MyCriteria'", dbReadOnly) 'filter records lngRowIndex = 0 With rs If Not .BOF then .MoveFirst while Not .EOF TargetRange.Offset ( lngRowIndex, 0). Formula =. Πεδία (Όνομα πεδίου) .MoveNext lngRowIndex = lngRowIndex + 1 Wend End With Set rs = Nothing db. Close Set db = Nothing End Sub

Τα παραδείγματα μακροεντολών υποθέτουν ότι το έργο VBA σας έχει προσθέσει μια αναφορά στη βιβλιοθήκη αντικειμένων DAO.
Μπορείτε να το κάνετε αυτό μέσα από το VBE επιλέγοντας το μενού Εργαλεία, Αναφορές και επιλέγοντας Microsoft DAO x.xx Object Library.
Χρησιμοποιήστε το ADO εάν μπορείτε να επιλέξετε μεταξύ ADO και DAO για εισαγωγή ή εξαγωγή δεδομένων.