即使没有结果,如何在分组的 MS Access 报告中显示类别
Posted
技术标签:
【中文标题】即使没有结果,如何在分组的 MS Access 报告中显示类别【英文标题】:How to display a category in a grouped MS Access report even when there are no results 【发布时间】:2018-10-25 23:41:14 【问题描述】:我在 Microsoft Access 中有一个基于显示多个结果的查询的报告。这些结果在访问报告中按类别分组。有时,查询中的过滤器/条件会导致某些类别没有结果,从而导致该类别不会显示在报告中。
如何让类别仍显示在报告中,并可能在类别组下方显示“未找到”或等效声明(如果适用)?我想要的最终结果是显示所有类别,无论是否有结果。
【问题讨论】:
在查询中使用 LEFT JOIN 或 RIGHT JOIN。 哦,好吧。因此,在我的查询中使用 JOIN 将允许类别显示在报告中,即使没有结果,但无论如何在类别标题下方列出自定义语句,例如“未找到”? @Rene JOINS 并不能普遍解决结果集中数据缺失的问题。也许带有新 LEFT/RIGHT JOIN 的附加查询将成为解决方案的一部分,但绝对不是其本身的答案。 @gluc7 我可以对要做什么给出一个抽象的描述,并且可能会编造一堆虚构的表和列名,但是拥有实际的数据模式甚至可能是示例数据使得创建一个示例如此之多更轻松。如果一张图片值 1000 字,那么示例数据也是如此。 【参考方案1】:我会说你需要一个 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
【讨论】:
以上是关于即使没有结果,如何在分组的 MS Access 报告中显示类别的主要内容,如果未能解决你的问题,请参考以下文章