首页 > 解决方案 > 查询减去 Now()-[Table].[Field]

问题描述

我想运行一个查询,从今天减去一定天数并过滤该结果。我正在使用 Access 2007

这有效,但我需要从名为的表中读取 50SetupExp.qryFilter

SELECT CustItemExp.LocationKey, CustItemExp.MarketBasket, CustItemExp.SaleDate
FROM CustItemExp
WHERE Now() -50;

我试过WHERE Now() -[SetupExp].[qryFilter]
没有运气,它只是提示输入一个值。

我想把 50 放在一个表/字段中,这样查询就可以在没有用户输入的情况下读取它。

标签: sqlms-access

解决方案


据我了解,您需要显示SaleDate从现在起过去 50 天内的记录,并且能够将这个天数存储在 SetupExp 表中。如果是这样,您可以使用这样的查询:

SELECT CustItemExp.LocationKey, CustItemExp.MarketBasket, CustItemExp.SaleDate
FROM CustItemExp, SetupExp
WHERE CustItemExp.SaleDate > Now()-[qryFilter];

如果您需要可编辑的查询,如评论中所建议的,请使用 DLookup:

SELECT CustItemExp.LocationKey, CustItemExp.MarketBasket, CustItemExp.SaleDate
FROM CustItemExp
WHERE CustItemExp.SaleDate > Now()-DLookUp("qryfilter","SetupExp")

推荐阅读