我对这些东西很新,所以希望我们那里有人可以帮助我。
设置:我有一个Access 2007数据库,用于导入数据,然后执行一组查询并按月导出结果。
每月数据保存为Excel电子表格或“Current”文件夹中的文本文件。我为每个文件保存了相当繁琐的导入步骤,以便于在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)
想法,有人吗?
谢谢,
答案 0 :(得分:1)
您可以使用Dir命令。如果结果是空字符串,则它不存在。
因此,在Windows计算机上,Dir("C:\Windows\explorer.exe")
将返回explorer.exe,但Dir(“C:\ Windows \ bumblebee.exe”)将返回“”。
所以设置一个If语句。
If Len(Dir(YourFile)) > 0 then
DoCmd.RunSavedImportExport "Import -Excel1"
End if