是否可以使用Excel中的VBA将Excel数据附加到Access数据库文件?

时间:2014-05-14 17:54:29

标签: excel vba excel-vba access-vba

Excel 2010工作表中有三个单元格,例如a1,a2和a3。每次用户运行我的Excel宏时,我都需要它来获取这些单元格中的信息并将其附加到现有的Access DB文件中。这就是db文件中的所有内容,只是一个运行列表。

所以,我不想从Access进口。我希望这一切都发生在Excel方面,最好不要打开访问权限。这是可能的还是我可以告诉我的丈夫忘掉它?

如果有可能,有人可以给我一个关于如何去做的线索吗?或者在哪里了解它?我在Excel中使用VBA但是没有使用Access或甚至数据库的经验。

谢谢!

1 个答案:

答案 0 :(得分:6)

创建对Microsoft DAO 3.6 object library的引用并开始使用此代码:

Sub DBInsert()
Dim DB As DAO.Database
Dim RS As DAO.Recordset

    ' open database
    Set DB = DAO.OpenDatabase("C:\Users\Myself\Desktop\MyDB.mdb")

    ' open table as a recordset
    Set RS = DB.OpenRecordset("Table1")

    ' add a record to the recordset
    RS.AddNew

    ' fill fields with data ... in this case from cell A1
    RS.Fields("Field1") = [A1]

    ' write back recordset to database
    RS.Update

    ' important! cleanup
    RS.Close

    ' forget to close the DB will leave the LDB lock file on the disk
    DB.Close

    Set RS = Nothing
    Set DB = Nothing
End Sub

在工作表上创建一个按钮,并将此代码放在Button_Click()中,以便用户在完成所有输入后将数据发送到您的数据库。

更多资源:

Office 2013 / Data Access / How do I ...

Choosing ADO or DAO for Working with Access Databases