在 Access 中,如何识别范围外的日期

In Access, how to Identify Dates Outside of a Range

我在 Access 中接到了一个项目的任务,但我对它很不熟悉。我想做的是创建某种查询或宏或 vba 代码来查看 table 我设置事件发生的日期并引用某个范围(例如,现在 - 30 天),如果事件发生的日期超出范围,则将其添加到单独的 table。问题是,某些事件比其他事件发生得更频繁(有些事件每 90 天发生一次,有些事件每 7 天发生一次)。

在图片中,事件 4 发生了很多次,但我只想让它看最近的一次(我已将数字更改为发生事件的实际名称)。

我已经玩过一些日期代码,我从这个网站得到了符号:

https://support.office.com/en-us/article/Examples-of-using-dates-as-criteria-in-Access-queries-AEA83B3B-46EB-43DD-8689-5FC961F21762

我遇到的另一个问题 运行 是我希望它只查看最近的事件。正如我在另一个线程上看到的那样,我一直在研究这段代码:

MS Access query - select most recent date

Select cleaning, Max(Date1) as most_recent
From CleaningLog
Group by Cleaning;

但它一直告诉我有一个编译错误,它突出显示了列的名称 "Cleaning"。

对于这两个问题,我都没有做出任何有用的东西。如果有人能提供帮助,将不胜感激!

编辑

日期来自此处的表单,用户在其中键入事件发生的日期。

您的查询应该有效 - 如果您毕竟将它复制到新查询的 SQL 窗格 而不是复制到代码模块(这是您将获得的地方)编译错误)。

如果值确实是文本,请使用 CDate 将它们转换为真实的日期值。永远不要将日期作为字符串处理,没有例外。