问题描述
我创建了一个按人员标识符分组的 Access 报告,然后显示源查询中与该人员标识符相关的所有行。我想将我的报告输出按行数最少的人排序到行数最多的人。我不能在查询中使用 GroupBy 语句,因为我必须在报表中显示详细记录。希望这个插图有帮助。 Image shows a table with personid and multiple data columns.
解决方法
当您说您不能使用 GroupBy 语句时,是否意味着您不能使用查询生成器中的 Total 行? (我问的原因是因为我已经能够在保留详细记录的同时实现相同的目标)
所以我制作了一个名为 tbl_people 的表的副本(并且我在每个字段的末尾添加了 p# 以确保数据进入报告的正确区域)-关闭并保存-
然后使用查询生成器,我添加了 tbl_people 并添加了 PersonID
TWICE。
单击顶部的总计按钮;然后将第一列从 Group By 更改为 Count
并使 Sort: Ascending
(我最终将其命名为 qry_count)-关闭并保存-
转到 Data
或 All
标签,然后点击 Record Source
右侧的三个小点
添加 tbl_people 和 qry_count。然后将 PersonID 从 qry_count 拖到 tbl_people 中的 PersonID 以创建平等联接。然后添加 tbl_people 中的所有字段,单击总计(在查询构建器的顶部),设置 ID Sort: Ascending
。然后从 qry_count 添加字段 CountofPersonID 并确保它位于查询构建器的前面
在您的报告上,添加字段(我从表格中添加了所有字段),然后使用排序/分组(与您找到报告属性的方式相同)添加一个 Group
并在标题中添加一个文本框并将 Control Source
设为 CountOfPersonID。这应该可以解决问题! :)