首页 > 解决方案 > 即使没有结果,如何在分组的 MS Access 报告中显示类别

问题描述

我在 Microsoft Access 中有一个基于显示多个结果的查询的报告。这些结果在访问报告中按类别分组。有时,查询中的过滤器/条件会导致某些类别没有结果,从而导致该类别不会显示在报告中。

如何让类别仍显示在报告中,并可能在类别组下方显示“未找到”或等效声明(如果适用)?我想要的最终结果是显示所有类别,无论是否有结果。

标签: sqlms-accessreportgrouping

解决方案


我会说你需要一个 UNION 查询。

假设您对报告的原始查询是qryData

SELECT Category, Data1, Data2
FROM tblData
WHERE foo = bar

要查找查询中不存在的所有类别,您可以使用以下命令:

SELECT c.Category
FROM tblCategory AS c LEFT JOIN qryData AS d ON c.Category = d.Category
WHERE d.Category IS NULL

对于报告,您将其结合起来,例如

SELECT Category, Data1, Data2
FROM qryData

UNION ALL

SELECT c.Category, 'None found' AS Data1, NULL AS Data2
FROM tblCategory AS c LEFT JOIN qryData AS d ON c.Category = d.Category
WHERE d.Category IS NULL

ORDER BY Category, Data1

推荐阅读