MS Access:查询以列出一系列文件夹中的文件数

时间:2018-10-15 21:31:34

标签: sql vba ms-access

我有一些用其关键字段标记的文件夹,所以1,2,... 999,1000。位于currentproject.path \ RecordFiles \ KeyField中,就像currentproject.path \ RecordFiles \ 917一样。

我想运行一个查询,该查询将计算每个文件夹中有多少个文件。我知道可以通过Visual Basic使用DIR函数完成此操作,但是我似乎无法通过SQL查询运行它。

我尝试在SQL公式中使用this function,因此Expr1:[FlrFileCount(“ Y:\ Education \ Databases \ RecordFiles \”)]作为其中一个字段,只是为了查看它是否可以正常工作,但这会提示我输入一个值,然后什么也不返回。

编辑:我尝试了以连续形式使用FlrFileCount函数的方法,它确实起作用了,但是...每行之后都会出现错误。我有一个= FlrFileCount([currentproject]。[path]&“ \ recordfiles \”&[ID])连续形式的字段,但是当我运行该表单时,出现错误“错误76,错误源:FlrFileCount,错误说明:找不到路径。”这很疯狂,因为它很有效,它可以正确列出每个记录的文件夹中的文件数。

我只需要将此功能添加到SQL查询中,以便可以将这些数据用于邮件合并。

我目前有类似的表格。表单具有onload属性,可运行模块(Link here)来创建该记录的相关文件夹中所有文件的列表,然后我还有另一个字段,该字段仅计算列表中的条目数。但是,列表不能成为SQL查询中的值,因此我认为该代码无济于事。

1 个答案:

答案 0 :(得分:0)

感谢蒂姆·威廉姆斯(Tim Williams),答案是说

= FlrFileCount(Currentproject.Path&“ \ recordfiles \”&[ID])

似乎[currentproject]。[path]部分是错误所在。令人困惑的是,在其他地方,MS Access在currentproject和path周围添加了额外的[],我不知道为什么。

非常感谢您的帮助!现在到棘手的部分:通过共享点上的程序ID实现正确的命名方案,以便即使程序名称更改,相关文件夹也可以始终打开。