Export data from Excel to Access (DAO)

 2001-11-27    Import & Export    0    144

If you want to export data to an Access table from an Excel worksheet, the macro example below shows how this can be done

Sub DAOFromExcelToAccess()
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
Dim db As Database, rs As Recordset, r As Long
    Set db = OpenDatabase("C:\FolderName\DataBaseName.mdb") 
    ' open the database
    Set rs = db.OpenRecordset("TableName", dbOpenTable) 
    ' get all records in a table
    r = 3 ' the start row in the worksheet
    Do While Len(Range("A" & r).Formula) > 0 
    ' repeat until first empty cell in column A
        With rs
            .AddNew ' create a new record
            ' add values to each field in the record
            .Fields("FieldName1") = Range("A" & r).Value
            .Fields("FieldName2") = Range("B" & r).Value
            .Fields("FieldNameN") = Range("C" & r).Value
            ' add more fields if necessary...
            .Update ' stores the new record
        End With
        r = r + 1 ' next row
    Set rs = Nothing
    Set db = Nothing
End Sub
The macro example assumes that your VBA project has added a reference to the DAO object library. You can do this from within the VBE by selecting the menu Tools, References... and selecting the Microsoft DAO x.xx Object Library. Use ADO if you can choose between ADO and DAO for data import or export.

Leave a comment:

Your comment will only be published after it has been moderated and found spam free.
Your e-mail address will only be used to display your Gravatar.