自动将csv文件从Windows资源管理器导入Access DB

时间:2016-07-20 18:54:57

标签: vba ms-access access-vba

我有一个ADB,我希望自动循环通过Windows资源管理器,将文件导入每周报表(Wkly_Rprt),执行格式化,并将其附加到每周汇总表(Wkly_S_Rprt),然后删除每个文件从Windows资源管理器?文件名格式相同,最后更改日期。如果是这样,那么看起来会是什么样子,因为我已经看过很多其他的例子而没有太多运气。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

使用Scripting.FileSystemObject迭代文件系统文件夹和文件。以下是我用于从特定文件夹导入文件的代码示例:

Private sub ImportCSVs(TempImportFolder as String)

    On Error Goto ImportCSVs_Err
    Dim objFS As Object, objFolder As Object, objFiles As Object

    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFS.GetFolder((TempImportFolder)) 
    Set objFiles = objFolder.Files
    For Each file In objFiles
        DoCmd.TransferText acImportDelim, "[import_spec]", "Wkly_Rprt",  TempImportFolder & "\" & file.Name, False 
        'Remove old data ....   
        'Append new data ....
        'Delete file:
        objFs.DeleteFile TempImportFolder & "\" & file.Name
NextFile:
    Next
ImportCSVs_Exit:
    Exit Sub
ImportCSVs_Err:
    'Handle Errors occurred do to file structure, and Resume NextFile

End Sub

您可以扫描文件夹中的子文件夹,并在每个子文件夹上运行此代码,sample code at this reference