MS Access:限制 DateDiff() 查询结果的最佳方法?

问题描述

全部,

总的来说,我对 Access 和 VBA 非常熟悉,所以不要害怕彻底。我目前有一个链接到只读数据库的表,定期查询数据库以提供有关我们工厂处理的状态信息。此查询以连续形式显示给我们的员工。我一直在绞尽脑汁想弄清楚为什么我不能在条件级别限制我们的 elapsedtime 查询

Datediff("n",([CollectTime],Now())

标准:不为空且

我使用 120 作为占位符,表示最终将成为用户定义变量的内容,但即使只有一个值,它也会返回全部 30 万个条目。我敢肯定这是一件非常简单的事情,我就是想不通。

如果我不能在查询级别限制它,有没有办法在表单级别修剪记录集?

解决方法

您需要一个 where 子句。我会推荐:

where CollectTime > dateadd("d",-120,date())

请注意,这会切换逻辑,因此 CollectTime 不是函数的参数。如果您在 CollectTime 上有索引,这使得该索引友好。

,

解决问题的直接答案是,间隔 <Switch> <Route path='/' exact component={Home} /> <Route path='/services' component={Services} /> <Route path='/products' component={Products} /> <Route path='/contact-us' component={ContactUs} /> <Route path='/sign-up' component={SignUp} /> <Route path='/marketing' component={Marketing} /> <Route path='/consulting' component={Consulting} /> </Switch> Is there anything to install or? 返回 分钟,而不是天。而且,当您使用包含时间部分的 n 时,结果可能会因一天而异。因此,使用 Now() 作为 day 计数以及正确的语法:

d

也就是说,如果您在 Datediff("d",[CollectTime],Date()) 上有索引,请使用 Gordon 发布的方法。