从Excel添加CSV到Access数据库

时间:2014-03-17 12:07:57

标签: ms-access excel-vba csv import vba

我有多个以CSV格式保存的表格:

  • table1.csv
  • table2.csv
  • table3.csv

我想将所有文件导入一个Access(database.mdb)数据库。 即因此,应该有1个带有table1,table2,table3的MS Access文件。

是否可以从Excel的VBA执行此操作?

有一个命令:

DoCmd.TransferText acImportDelim, "dTT_DSC_Bucket_Alert_Thresholds", _
    "table1", "C:\Users\MEEE\Desktop\dumps\New folder\files\table1.csv", True

但它仅适用于Access本身。我需要能够以某种方式从excel连接到MDB,然后为每个文件执行导入..

1 个答案:

答案 0 :(得分:0)

是的,但我们需要添加到您的Excel - 工具/参考/ MSAccess

然后在某个文件夹中创建MDB(例如StackCSV.mdb或database.mdb)。

然后将此代码添加到您的Excel -

Option Explicit

Sub doit()

    ' Create an instance of the Access application object.
    Dim objAccess As Access.Application
    Set objAccess = CreateObject("Access.Application")


    ' Check that this is the path on YOUR PC for
    Const conPATH = "C:\donPablo\StackOverFlow\StackCSV.mdb"
    objAccess.OpenCurrentDatabase conPATH
    objAccess.Visible = True

     ' do the Transfer
    objAccess.DoCmd.TransferText acImportDelim, "", _
    "table1", "C:\donPablo\StackOverFlow\StackCSV.csv", True

    ' close out the mdb
    objAccess.Quit
    Set objAccess = Nothing

End Sub