在 Access 中以编程方式动态更改条件

Programatically Change Criteria Dynamically in Access

我有一个 Access 数据库,其中包含一系列查询,这些查询构建了一份清单项目列表,这些项目将进入报告。我有一个宏 运行s 所有查询,并在半夜通过电子邮件将报告发送到我公司的一家商店,以便商店的员工在早上到达时可以清点商品。我 运行 宏会在半夜的适当时间自动从 Windows 任务计划程序。

不过,这个方法有点笨拙。我目前有每个商店的数据库副本。每次我发送计数时,我都必须在查询中为每个商店的每个副本手动更改供应商的标准。很费时间。

有没有办法以编程方式更改每个查询中的条件?我知道我可以设置一个弹出窗口来提示用户输入数据。我还可以构建一个提示输入该信息的表单。在一个完美的世界中,我的老板希望我能够给我一个包含商店编号、时间和日期以及供应商列表的电子表格,并让我获得一份访问权限副本来吐出报告。然而,即使我有一个快速 "Find and Replace" 的想法也会为我节省大量时间和精力来训练其他人在查询中进行挖掘。

有什么想法吗?谢谢!

将所有条件放在 table 中。打开 table 并循环遍历它。类似于:

Set rec = CurrentDB.OpenRecordset("Select * from MyCriteriaTable")

Do While rec.EOF = False
    strSQL = "Select * From MyTable Where MyField1 = '" & rec(1) & "' AND MyField2 = '" & rec(2) & "'"
    MyReport.RecordSource = strSQL

    rec.MoveNext 
Loop

这是"aircode",不会像写的那样工作,但这是一般的想法。