Access 2003完整教程:关于对记录进行分组

在报表上

可以根据一个或多个字段中的值,对报表中的记录进行分组。例如,要查看在特定日期发货的所有订单,可以根据“发货日期”字段中的值对记录进行分组,并根据“国家/地区”和“公司”字段中的值进行排序。

具有分组记录和未分组记录的报表的比较

?对每个日期开始一个新组,这样可以对报表进行略查,以便快速找到特定日期对应的记录。

?还可以对每个组计算总计值和其他值。该报表将打印每天订购的订单数量。

设置组属性

在“排序与分组”对话框中设置属性可以创建组。可以设置属性以显示组的页眉和页脚。

在“排序与分组”对话框中设置页眉和页脚属性

标注 1该符号表示按“发货日期”对记录进行分组。

标注 2可以通过将“组页眉”或“组页脚”或者二者都设为“是”来创建组。

标注 3放置一个用来在新的组页眉中标识组的文本框。

标注 4放置一个在组页脚节中计算该组总计值的文本框。

分组级别

在报表中最多可按 10 个字段或表达式进行分组。当根据多个字段或表达式进行分组时,Microsoft Access 会根据它们的分组级别对组进行嵌套。分组所基于的第一个字段或表达式是第一个且最重要的分组级别;分组所基于的第二个字段或表达式是下一个分组级别,依此类推。

分组级别的页眉与同级别的页脚是成对出现的

标注 1分组级别上的页眉 ...

标注 2... 与同级别页脚成对。

在数据访问页上

在数据访问页中对记录进行分组类似于在报表中对记录进行分组。可以创建分级结构,将记录按从通用类别到特定细节进行分组。

下面的图例显示了示例数据访问页“按照日期整理的订单”(该数据访问页显示了按日期分组的订单总计)在“页”视图或带 Service Pack 2 (SP2) 的 Microsoft Internet Explorer 5.01 及其更高版本中的外观。

分组数据访问页

标注 1单击展开指示器 ...

标注 2... 显示下一级组中的数据

标注 3使用记录导航工具栏在记录间移动、对记录进行排序和筛选、获得“帮助”。

分组数据访问页的组成部分

正文

正文是数据访问页的基本设计外表。在分组的页中,可以使用正文来显示信息性文本和节。默认情况下,正文中的文本、节和其他元素的位置是相对的。也就是说,元素是按在 HTML 源文件中显示的顺序一个接一个地输出。正文中元素的位置是由前面的内容来决定的。当在“页”视图或 Microsoft Internet Explorer 中查看时,正文中的内容会自动调整以适合 Web 浏览器的大小。

使用节可以显示文字、数据库中的数据以及工具栏。节中控件和其他元素的位置在默认情况下是绝对的。也就是说,每个控件或元素的位置相对于节的顶端和左端坐标而言是固定的。节中拥有绝对位置的控件即使在调整浏览器大小时也保持同样的位置。

在分组的数据访问页中有四种可用的节:组页眉、组页脚、标题和记录导航。对分组级别可以只使用所需的节。

“设计”视图中的分组数据访问页

每个分组级别都有一个记录源。记录源的名称显示在分组级别所用每个节的节栏上。下面的图例在“设计”视图中显示了数据访问页“按照日期整理的订单”。

在包含两个分组级别的数据访问页中使用的节

标注 1页标题和页正文中的说明

标注 2OrderTotals-OrderDate 分组级别的组页眉

标注 3OrderTotals 分组级别的标题节

标注 4OrderTotals 分组级别的组页眉

标注 5OrderTotals-OrderDate 分组级别的组页脚

标注 6OrderTotals-OrderDate 分组级别的记录导航节

“设计”视图或 Internet Explorer 中的分组数据访问页

下面的图例显示同一数据访问页在“页”视图中打开或在带 Service Pack 2 (SP2) 的 Microsoft Internet Explorer 5.01 或其更高版本中打开时各个节的外观。可以为每个分组级别指定要在页上显示多少条记录。在示例页中,外部分组级别 (OrderTotals-OrderDate) 一次显示两条记录,而内部分组级别 (OrderTotals) 显示所有记录。

在一个展开的组中含有记录的分组数据访问页

标注 1页标题和正文中的说明

标注 2OrderTotals-OrderDate 分组级别的组页眉

标注 3OrderTotals 分组级别的标题节

标注 4OrderTotals 分组级别的组页眉

标注 5OrderTotals-OrderDate 分组级别的组页脚

标注 6OrderTotals-OrderDate 分组级别的记录导航节

关于在数据访问页中根据自动编号值、货币值或数字值的间隔对记录进行分组

当通过自动编号值、货币值或数字值对记录进行分组时,分组所依据的控件必须绑定到具有以下数据类型之一的字段上:Microsoft Access 数据库中的“自动编号”、“货币”或“数字”数据类型;或Microsoft Access 项目中的 decimal、numeric、int 或支持自动编号、货币或数字值的任何其他数据类型。

在“页”视图或 Microsoft Internet Explorer 中,以 100 美元为间隔对记录进行分组的页的外观

若要以一定间隔对记录进行分组,必须有两个控件绑定到所要分组的字段。一个控件用于对记录进行分组,并显示作为间隔的字段值,另一个(该控件放置在下一级分组级别中)用于显示字段的完整值。在下面的示例中,记录来源于一个名为“销售额”的查询。在绑定到“销售额”字段的控件中记录按 100 的间隔进行分组。在下一级分组级别中,页按照“销售额”字段中的实际值显示记录并对其排序。

在“页”视图中,按间隔 100 美元对记录进行分组的数据访问页

标注 1该控件绑定到“销售额”字段,以 100 美元为间隔显示字段中的值。

标注 2该控件绑定到“销售额”字段,显示字段中的实际值。

在“设计”视图中,以 100 元为间隔对记录进行分组的页的外观

下面的图例显示了“设计”视图中示例页的布局。

在“设计”视图中,按间隔 100 美元对记录进行分组的数据访问页

标注 1以 100 美元为间隔对记录进行分组的控件在第一级(即最高)分组级别中。

标注 2显示实际销售额的控件位于下一级分组级别中。

属性设置

下表列出要为分组级别设置的属性。

属性销售-销售额销售额
GroupInterval1001.0
GroupOndscIntervaldscEachValue
DefaultSort销售额组 ASC销售额 ASC

注意

关于在数据访问页中根据日期或时间值的间隔对记录进行分组

当根据日期或时间的间隔对记录进行分组时,分组所依据的控件必须绑定到具有以下数据类型之一的字段:Microsoft Access 数据库中的“日期/时间”数据类型,或Microsoft Access 项目中的 datetime、smalldatetime 或存储日期和时间值的任何其他数据类型。

在“页”视图或 Microsoft Internet Explorer 中,按月份对记录进行分组的页的外观

若要根据日期或时间值的间隔对记录进行分组,必须有两个控件绑定到包含日期或时间值的字段上。一个控件用于对记录进行分组,是隐藏的。另一个控件位于下一级分组级别中,逐个显示值。在包含隐藏控件的分组级别中,还要创建绑定到表达式的控件,该表达式返回与隐藏控件中被分组的日期相同的月份。

下面的图例将在“页”视图中显示页。图例中不显示隐藏控件。

在“页”视图中,按月份对记录进行分组的数据访问页

标注 1该控件绑定到一个表达式,该表达式返回“发货日期”字段中值的月份部分。

标注 2该控件绑定到“发货日期”字段,按发货日期对记录进行排序。

在“设计”视图中,按月份对记录进行分组的页的外观

在示例页的“设计”视图中,可以看到用于在第一个分组级别中对记录进行分组的隐藏控件。

在“设计”视图中,按月份对记录进行分组的数据访问页

标注 1该控件(在页面视图或 Microsoft Internet Explorer 中可见)绑定到返回“发货日期”字段中值的月份部分的表达式。

标注 2该控件(在页面视图或 Microsoft Internet Explorer 中不可见)绑定到“发货日期”字段,用于按月份对记录进行分组。

标注 3该控件也绑定到“发货日期”字段,按发货日期对记录进行排序。

属性设置

下表列出要为分组级别设置的属性。

属性销售-销售额销售额
GroupInterval1.01.0
GroupOndscMonthdscEachValue
DefaultSort发货日期组 ASC发货日期 ASC

注意

关于在数据访问页中根据文本值的前 n 个字符对记录进行分组

当根据文本字段的前 n 个(或前缀)字符对记录进行分组时,分组所依据的控件必须绑定到具有以下数据类型之一的字段上:Microsoft Access 数据库中的“文本”数据类型;或Microsoft Access 项目中的 char、varchar、nchar 或可以存储文本的任何其他数据类型。

在“页”视图或 Microsoft Internet Explorer 中,根据字段中的第一个字符对记录进行分组的页的外观

若要根据前 n 个字符对记录进行分组,必须有两个控件绑定到所要分组的字段。一个控件通过指定的前缀字符数对记录进行分组,并显示前缀字符。另一个控件(该控件位于下一级分组级别中)对记录进行排序并显示字段的实际值。

在下面的示例中,记录来源于“产品”表。在第一级分组级别中,根据“产品名称”字段值的第一个字符对记录进行分组。在下一级分组级别中,页按照“产品名称”字段的实际值显示记录并对其排序。

在页面视图中,根据字段中前几个字符进行分组的数据访问页

标注 1该控件绑定到“产品名称”字段,并且只显示字段值的第一个字符。

标注 2该控件也绑定到“产品名称”字段,显示字段中的实际值。

在“设计”视图中,根据字段中的第一个字符对记录进行分组的页的外观

下面的图例显示了“设计”视图中示例页的布局。

在“设计”视图中,根据字段中前几个字符进行分组的数据访问页

标注 1根据每个产品名称的第一个字符对记录进行分组的控件位于第一级(即最高)分组级别中。

标注 2显示实际产品名称的控件位于下一级分组级别中。

属性设置

下表列出了要为分组级别设置的属性。

属性产品-产品名称产品
GroupInterval1.01.0
GroupOndscPrefixdscEachValue
DefaultSort产品名称组 ASC产品名称 ASC

注意

关于根据多个字段对记录进行分组

可以根据多个字段对页中的记录进行分组。可以创建嵌套的分组级别,也可以将分组字段添加到单个分组级别。

下面的图例显示了在“设计”视图中有三个分组级别的数据访问页。

有三个分组级别的数据访问页

下面的图例显示一个数据访问页,该页最外部的分组级别有两个分组字段。

根据两个字段分组的数据访问页

无论是用什么技术创建分组页,都可以为每个分组字段设置GroupOnGroupInterval属性。也可以设置DefaultSort属性以便在每个分组级别根据多个字段进行排序。

在数据透视表视图中的数据表或窗体上

在数据透视表视图和数据透视图视图中按间隔进行分组

通过指定间隔的类型和间隔的大小,可以对项进行分组。例如,可以将具有日期值的字段分成不同的月份,并指定间隔为 2,以创建如“一至二月”、“三至四月”等组。

为字段指定的间隔类型取决于字段的数据类型。

可以为分组范围指定起始和结束值。例如,如果指定起始范围为 01-Jul-1999,同时以周为间隔对“发货日期”字段分组,则将创建下列各组:

<01-Jul-1999, 01-Jul-1999, 08-Jul-1999, ...

01-Jul-1999 以前的日期被分入标题为 <01-Jul-1999 的单个组中。

如果还指定结束值为 31-Dec-1999,则将创建下列各组:

<01-Jul-1999, 01-Jul-1999, 08-Jul-1999, ... 31-Dec-1999, >31-Dec-1999

31-Dec-1999 后的日期被分入标题为 >31-Dec-1999 的单个组中。

在数据透视表视图中自定义组

可以从行字段或列字段中随机选择项,并将它们分成更高级别的组。例如,可以从“促销”行字段中选择在某一具体时期进行的所有促销,并创建一个组。这将在“促销”行字段上添加一个名为“促销2”的新的行字段,它有两个成员:“组1”和“其他”。在“属性”对话框中,可以将“组1” 的标题改为“固定”,将“促销2”的标题改为“分类”。

“其他”组将包含所有未包括在“固定”自定义组中的字段。然后可以从“其他”组中选择所有廉价的促销,创建一个标题为“廉价”的新的自定义组。之后,“分类”字段将有三个成员:“固定”、“廉价”和“其他”。

下面的图例显示了在更改了自定义组字段和自定义组的标题之后,数据透视表视图的外观。

具有自定义组的数据透视表视图

标注 1自定义组字段。将自定义组包含为它的项,并显示为其项已分组的字段的父字段。

标注 2自定义组。显示为被明确选择用来创建分组的项的父项。

标注 3“其他”组是未指派给任何具体自定义组的项的父项。

创建和删除自定义组及自定义组字段

移动其父字段为自定义组字段的字段

当移动行区和列区之间有自定义组的字段时,基于该字段的自定义组字段将随之移动。

如果将该字段移到筛选区,自定义组字段将会隐藏。但是,绑定字段将在下拉式列表中显示自定义组层次,所以可通过选择自定义组或个别值来筛选数据。将字段移回行区或列区时,自定义组字段将重新显示。

不能将具有自定义组的字段移到明细区域。

添加和删除内嵌的自定义组

可以选择两个或更多个自定义组,以创建更高级别的分组。例如,可以将“分类”字段的成员分成两组:高优先促销和低优先促销。

下面的插图显示了具有内嵌自定义组的行区的外观。

具有内嵌自定义组的数据透视表视图

标注 1自定义组字段,显示为“分类”自定义组字段的父字段。

也可以删除一个较低级别的自定义组。下面的图例显示了在删除了“分类”字段之后数据的显示结果。

具有自定义组的数据透视表视图

上页:Access 2003完整教程:数据定义查询的示例 (MDB) 下页:Access 2003完整教程:计算运行总和的报表示例

Access 2003完整教程:关于对记录进行分组

Access 2003完整教程:计算运行总和的报表示例Access 2003完整教程:页码表达式的示例
Access 2003完整教程:宏条件的示例Access 2003完整教程:每组都另起新行或新列的报表示例
Access 2003完整教程:关于使用模板创建窗体或报表Access 2003完整教程:联合查询示例 (MDB)
Access 2003完整教程:打印窗体和报表时缩放文本框的示例Access 2003完整教程:关于窗体
Access 2003完整教程:沙盒模式中禁用的函数Access 2003完整教程:关于宏和宏组
Access 2003完整教程:关于分发安全性增强的应用程序 (MDB)Access 2003完整教程:关于模块
Access 2003完整教程:打开示例数据库或项目Access 2003完整教程:改进 Visual Basic 代码的性能
Access 2003完整教程:控件和字段的验证顺序Access 2003完整教程:关于从窗体中打印报表
Access 2003完整教程:关于使用“名称自动更正”来改正重命名导致的错误 (MDB) Access 2003完整教程:关于从另一应用程序中粘贴数据
Access 2003完整教程:弹出式窗体和报表的属性设置Access 2003完整教程:列表框、组合框、下拉列表框和“查阅”字段的属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号