我正在尝试构建一个查询(QueryB),以便在我的 MS 访问控制中引用它。我知道我的源表达式语法是正确的,我有一个与 QueryA 非常相似的工作控件。
我只更改了字段和查询名称。但是,我不断收到#Name?
QueryB 的臭名昭著的错误。QueryA 和 QueryB 的区别在于 SQL 代码。QueryA 有一个GROUP BY
andSUM()
并且 QueryB 只有DATEDIFF()
. 我尝试将 QueryB 添加GROUP BY
到 QueryB,但不断收到 [...执行查询不包括指定表达式作为聚合函数的一部分]。
查询 B:
SELECT IIF(DATEDIFF("d",Date_X,Date_Y)>100),
ROUND(IIF(DATEDIFF("d",Date_X,Date_Y)/30,2),
DATEDIFF("d",Date_X,Date_Y)
AS DATEDIFF_X_Y
FROM LAB_DATES GROUP BY LAB_DATES.ID;
这是在 MS Access SQL 中。
在 MS Access 中引用 QueryB 的 ControlB 源:
=DLookUp("[DATE_DIFF_X_Y]",
"[QueryB]",
"[LAB_DATES.ID] = " & [Forms]![Lab Results Form]![Textbox_DATE_ID])
取出 时GROUP BY
,此查询运行良好,但我#Name?
在控件中收到错误。所有数据均来自 ODBC MySQL。访问是前端。
编辑:我可以放弃GROUP BY
. 但我会得到#Name?
错误。我的目标是显示 Date_X 和 Date_Y 之间的日期差异。