报表数据分组
在设计报表时,有时所要报表的数据是成组出现的,需要以组为单位对报表进行处理。例如在打印职工花名册时,为阅读方便,需要按所在部门或技术职务进行分组。前面学习了利用报表向导创建了一对多报表,其实它就是一个典型的分组报表的例子。在本节里,我们来学习如何用报表设计器进行数据分组报表。
利用分组可以明显地分隔每组记录,使数据以组的形式显示。组的分隔是根据分组表达式进行的,这个表达式通常由一个以上的表字段生成,有时也可以相当复杂。可以添加一个或多个组、更改组的顺序、重复组标头或者更改、删除组带区。
分组之后,报表布局就有了组标头和组注脚带区,可以向其中添加控件。组标头带区中一般都包含组所用字段的“域控件”,可以添加线条、矩形、圆角矩形,也可以添加希望出现在组内第一条记录之前的任何标签。组注脚通常包含组总计和其它组总结性信息。
报表布局实际上并不排序数据,它只是按它们在数据源中存在的顺序处理数据。因此,如果数据源是表,记录的顺序不一定适合于分组。当设置索引的表、视图或查询作为数据源时,可以把数据适当排序来分组显示记录。排序必须使用视图、索引或布局外的其它形式的数据操作来完成。
6.1 添加单个组
一个单组报表可以基于输入表达式进行一级数据分组。例如,可以把组设在“技术职务”字段上来打印所有记录,相同技术职务的记录在一起打印。
注意:这样做的前提是数据源必须按该字段排序。
添加单个组的步骤:
从快捷菜单或“报表”菜单中,选择“数据分组”。 出现“数据分组”对话框 :
这里的属性设置包括打印标头和注脚文本来区别各组,在新的一页上打印每一组,当某组在新页上开始打印时,重置页号。
对话框选项意义如下:
分组表达式 显示当前报表的分组表达式,如字段名,并允许输入新的字段名。如果想创建一个新的表达式,可选择对话按钮,显示“表达式生成器”对话框。
组属性 此属性用以指定如何分页。
每组从新的一列上开始 当组改变时,从新的一列上开始。
每组从新的一页上开始 当组改变时,从新的一页上开始。
每组的页号重新从 1 开始 当组改变时,组在新页上开始打印,并重置页号。
每页都打印组标头 当组分布在多页上时,指定在所有页的页标头之后打印组标头。
小于右值时组从新的一页上开始 设置要打印组标头时,组标头距页底的最小距离。
插入 在“分组表达式”框中插入一个空文本框,以便定义新的分组表达式。
删除 从“分组表达式”框中删除选定的分组表达式。
在第一个“分组表达式”框内键入分组表达式。 或者选择对话按钮,在“表达式生成器”对话框中创建表达式。
在“组属性”区域,选定想要的属性。
选择“确定”按钮。
添加表达式后,可以在带区内放置任意需要的控件。通常,把分组所用的域控件从“细节”带区移动到“组标头”带区。
6.2 添加多个数据分组
有时,我们需要对报表进行多个数据分组,如在打印职工花名册时在用“所在部门”分组的基础上,还想按技术职务分组,这也称为嵌套分组。嵌套分组有助于组织不同层次的数据和总计表达式。在报表内最多可以定义 20 级的数据分组。
步骤:
从“报表”菜单中,选择“数据分组”。出现“数据分组”对话框:
在第一个“分组表达式”框内键入分组表达式。 或者选择对话按钮,在“表达式生成器”对话框中创建表达式。
在“组属性”区域,选择所需的属性。
选择“插入”并且对每个分组表达式重复 2、3 步。
选择“确定”按钮。
注意:在选择一个分组层次进,请先估计一下分组值的可能更改的频度,然后定义最经常更改的组为第一层。例如,报表可能需要一个按省份的分组和一个按城市的分组。城市字段的值比省份字段更易更改,因此,城市应该是两个组中的第一个,省份就是第二个。在这个多组报表内,表必须在一个关键值表达式上排序或索引过,例如 省份+城市 。
6.3 更改分组设置
6.3.1 更改组带区
更改分组的表达式和组打印选项的方法同上面建立分组一样,都在“数据分组”对话框的“表达式”及“组属性”中进行。
6.3.2 删除组带区
如果不再需要在报表布局保留某一分组,可以删除它。在“数据分组”对话框中选中希望删除的组,按“删除”按钮即可实现。如果该组带区中包含有控件,将提示同时删去控件。
6.3.3 更改分组次序
在报表中的组定义之后,可以通过如下方法更改它们的次序:
在“报表”菜单中,选择“数据分组”。
选中想移动的组左侧的移动按钮,并把它拖到新位置。
当组重新排序时,组带区中定义的所有控件都将移到新的位置,但重新排序组并不更改以前定义的控件。如果框或线条以前是相对于组带区的上部或底部定位的,那么它们仍将固定在组带区的原位置。
分组报表的使用可以参考第九节例子。
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥124 优惠价:¥124.0 更多书籍 |