首页 文章

从Excel添加CSV到Access数据库

提问于
浏览
0

我有多个以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

    是的,但我们需要添加到您的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
    

相关问题