Access/VBA中条件保存导入



我对这些东西相当陌生,所以希望我们那里的人可以帮助我。

设置:我有一个导入数据的Access 2007数据库,然后执行一组查询并每月导出结果。

每月数据保存为Excel电子表格或"当前"文件夹中的文本文件。我为每个文件保存了相当繁琐的导入步骤,以便于在Access中将它们添加为表。

有很多文件要导入,所以我写了一个简单的VBA代码来一次运行所有保存的导入。

Public Sub DatabaseImp()
DoCmd.RunSavedImportExport "Import-Excel1"
DoCmd.RunSavedImportExport "Import-Excel2"
DoCmd.RunSavedImportExport "Import-Txt1"
DoCmd.RunSavedImportExport "Import-Txt2"
DoCmd.RunSavedImportExport "Etc....."
End Sub

另外,我创建了一个宏来运行这段代码,一切都很好。

,

问题:根据月份的不同,某些文件会包含在"当前"文件夹中,而其他文件则不会。

例如,假设本月没有要导入数据库的'Excel2'文件。

是否有修改上面的代码,以便它只尝试执行导入,如果有东西要导入?

我知道我可以简单地手动执行,忽略"Excel2"导入。然而,我想保持这个过程的自动化。

我正在寻找某种有条件的IF语句,我可以添加到每行的末尾,例如:

DoCmd.RunSavedImportExport "Import -Excel1" 
 (ONLY IF there is an excel1 file in the 'current' folder to import)

的想法,有人知道吗?

谢谢,

可以使用Dir命令。如果结果为空字符串,则该字符串不存在。

因此,在Windows机器上,Dir("C:Windowsexplorer.exe")将返回explorer.exe,但Dir("C:Windowsbumblebee.exe")将返回"。

创建一个If语句

If Len(Dir(YourFile)) > 0 then
  DoCmd.RunSavedImportExport "Import -Excel1"
End if

最新更新