以编程方式在Access中动态更改标准

时间:2016-02-03 15:22:57

标签: vba ms-access scheduled-tasks

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

然而,这种方法有点笨拙。我目前有每个商店的数据库副本。每次我发送计数,我都必须手动更改供应商'每个商店的每个副本的查询内的条件。这非常耗时。

有没有办法可以以编程方式更改每个查询中的条件?我知道我可以设置一个弹出窗口来提示用户输入数据。我还可以构建一个提示该信息的表单。在一个完美的世界里,我的老板希望我能够给我一个电子表格,其中包含商店编号,时间和日期以及供应商列表,并且只有一份访问权限就会泄露出来。然而,即使是一个让我快速做到的事情"查找和替换"这将节省我大量的时间和培训其他人在查询中挖掘的努力。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

将所有条件放在表格中。打开桌子并循环播放。类似的东西:

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”,不会像书面那样工作,但这是一般的想法。