【发布时间】:2021-10-26 18:13:09
【问题描述】:
我正在尝试运行一个查询,在给定产品的情况下,他的预计持续时间和收到产品的日期会返回到期日期和距离该到期日期的天数。我已经有另一个查询执行完全相同的操作,但使用另一个表并且工作正常,但由于某种原因,我无法使其工作并继续收到错误“此表达式输入错误,或者它太复杂进行评估。”。我在这里阅读了很多答案并尝试了各种不同的东西(检查我是否有空值,是否所有日期都输入正确,使用 DateValue,......)但它们似乎都不起作用。
谁能帮帮我?
我使用的代码是:
SELECT DISTINCT QueryMensalMov.PersonID, QueryMensalMov.[Nº pessoal] AS [Name], QueryMensalMov.Product, QueryMensalMov.Quantity, [ProductList].DurationDays, QueryMensalMov.Date, DateAdd("d",Nz([ProductList].[DurationDays],0),DateValue([Date])) AS ExpirationDate, DateDiff("d",Date(),DateAdd("d",Nz([ProductList].[DurationDays],0),Date)) AS Days
FROM [ProductList] INNER JOIN QueryMensalMov ON [ProductList].ProductID = QueryMensalMov.ProductID
WHERE ((([ProductList].DurationDays)>0) AND ((DateAdd("d",Nz([ProductList].[DurationDays],0),Date)) Between Date() And (Date()+90)));
这些表格是: QueryMensalMov
| PersonID | Nº pessoal | ProductID | Date |
|---|---|---|---|
| 1 | Filipa | A | 20-05-2020 |
| 2 | Mark | B | 15-07-2021 |
产品列表:
| ProductID | DurationDays |
|---|---|
| A | 30 |
| B | 90 |
非常感谢您的帮助!
【问题讨论】:
-
建议不要使用保留字作为名称,这有时会导致查询问题。
Name是保留字。更改它或将其括在 [ ] 中,看看是否有帮助。提供示例数据作为相关文本表。 -
@June7 请查看已编辑的问题,已添加表格。试图将 [ ] 放在 Name 中,但没有任何改变
-
您有另一个查询执行这些相同的日期计算并且有效?我用你的数据测试了查询,它可以工作。
-
@June7 是的,我有另一个查询但使用另一个表。该表与此非常相似。你知道为什么这可能对你有用,而不是对我有用吗?可能是数据有问题,因为我刚刚在这里添加了示例数据,但是我已经检查了所有日期,所以这没有意义