我有多个以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,然后为每个文件执行导入..
答案 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