Importa dati da Access a Excel (DAO) utilizzando VBA in Microsoft Excel

Sommario

CopyFromRecordset è probabilmente il metodo più semplice per ottenere dati da una tabella di Access a un foglio di lavoro di Excel.

Sub DAOCopyFromRecordSet(DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) ' Esempio: DAOCopyFromRecordSet "C:\FolderName\DataBaseName.mdb", _ "TableName", "FieldName", Range("C1") Dim db As Database, rs As Recordset Dim intColIndex As Integer Imposta TargetRange = TargetRange.Cells(1, 1) Imposta db = OpenDatabase(DBFullName) Imposta rs = db.OpenRecordset(TableName, dbOpenTable) 'tutti i record 'Imposta rs = db. OpenRecordset("SELECT * FROM " & TableName & _ " WHERE " & FieldName & _ " = 'MyCriteria'", dbReadOnly) ' filtra i record ' scrivi i nomi dei campi For intColIndex = 0 To rs.Fields.Count - 1 TargetRange.Offset( 0, intColIndex).Value = rs.Fields(intColIndex).Name Next ' scrive recordset TargetRange.Offset(1, 0).CopyFromRecordset rs Set rs = Nothing db.Close Set db = Nothing End Sub

Se desideri un maggiore controllo con l'importazione dei dati, puoi personalizzare la macro di seguito:

Sub DAOFromAccessToExcel(DBFullName As String, TableName As String, _ FieldName As String, TargetRange As Range) ' Esempio: DAOFromAccessToExcel "C:\FolderName\DataBaseName.mdb", _ "TableName", "FieldName", Range("B1") 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) ' tutti i record 'Set rs = DB. OpenRecordset("SELECT * FROM " & _ TableName & " WHERE " & FieldName & _ " = 'MyCriteria'", dbReadOnly) ' filtra i record lngRowIndex = 0 With rs If Not .BOF Then .MoveFirst While Not .EOF TargetRange.Offset( lngRowIndex, 0).Formula = .Fields(FieldName) .MoveNext lngRowIndex = lngRowIndex + 1 Wend End With Set rs = Nothing db.Close Set db = Nothing End Sub

Gli esempi di macro presuppongono che il progetto VBA abbia aggiunto un riferimento alla libreria di oggetti DAO.
Puoi farlo dall'interno del VBE selezionando il menu Strumenti, Riferimenti e selezionando Microsoft DAO x.xx Object Library.
Usa ADO se puoi scegliere tra ADO e DAO per l'importazione o l'esportazione dei dati.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave