VFP编程:VFP报表数据分组

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  在设计报表时,有时所要报表的数据是成组出现的,需要以组为单位对报表进行处理。例如在教师花名册时,为阅读方便,需要按所在部门或职称进行分组。利用分组可以明显地分隔每组记录,使数据以组的形式显示。组的分隔是根据分组表达式进行的,这个表达式通常由一个以上的表字段生成,有时也可以相当复杂。可以添加一个或多个组、更改组的顺序、重复组标头或者更改、删除组带区。

  分组之后,报表布局就有了组标头和组注脚带区,可以向其中添加控件。组标头带区中一般都包含组所用字段的“域控件”,可以添加线条、矩形、圆角矩形,也可以添加希望出现在组内第一条记录之前的任何标签。组注脚通常包含组总计和其他组总结性信息。

  报表布局实际上并不排序数据,它只是按它们在数据源中存在的顺序处理数据。因此,如果数据源是表,记录的顺序不一定适合于分组。当设置索引的表、视图或查询作为数据源时,可以把数据适当排序来分组显示记录。排序必须使用视图、索引或布局外的其他形式的数据操作来完成。

  1.添加单个数据分组

  一个单组报表可以基于输入表达式进行一级数据分组。例如,对教师表按字段排序后,可以把组设在“职称”字段上来打印所有记录,相同职称的记录在一起打印。

  添加单个数据分组的步骤如下:

  从快捷菜单或“报表”菜单中,选择“数据分组”。出现“数据分组”对话框。

  (1)这里的属性设置包括打印标头和注脚文本来区别各组,在新的一页上打印每一组,当某组在新页上开始打印时,重置页号。

  对话框选项意义如下:

  ①分组表达式。显示当前报表的分组表达式,如字段名,并允许输入新的字段名。如果想创建一个新的表达式,可选择对话按钮,显示“表达式生成器”对话框。

  ②组属性。此属性用以指定如何分页。

  ③每组从新的一列上开始。当组改变时,从新的一列上开始。

  ④每组从新的一页上开始。当组改变时,从新的一页上开始。

  ⑤每组的页号重新从1开始。当组改变时,组在新页上开始打印,并重置页号。

  ⑥每页都打印组标头。当组分布在多页上时,指定在所有页的页标头后打印组标头。

  ⑦小于右值时组从新的一页上开始。要打印组标头时,组标头距页底的最小距离。

  ⑧插入。在“分组表达式”框中插入一个空文本框,以便定义新的分组表达式。

  ⑨删除。从“分组表达式”框中删除选定的分组表达式。

  (2)在第一个“分组表达式”框内键人分组表达式。或者选择对话按钮,在“表达式生成器”对话框中创建表达式。

  (3)在“组属性”区域,选定想要的属性。

  (4)选择“确定”按钮。

  添加表达式后,可以在带区内放置任意需要的控件。通常,把分组所用的域控件从“细节”带区移动到“组标头”带区。

  2.添加多个数据分组

  有时需要对报表进行多个数据分组,如在打印教师花名册时在用“所在部门”分组的基础上,还想按职称分组,这也称为嵌套分组。嵌套分组有助于组织不同层次的数据和总计表达式。在报表内最多可以定义20级的数据分组。

  添加多个数据分组步骤如下:

  (1)从“报表”菜单中,选择“数据分组”。出现“数据分组”对话框。

  (2)在第一个“分组表达式”框内键人分组表达式。或者选择对话按钮,在“表达式生成器”对话框中创建表达式。

  (3)在“组属性”区域,选择所需的属性。

  (4)选择“插入”并且对每个分组表达式重复2、3步。

  (5)选择“确定”按钮。

  注意:在选择一个分组层次时,要先估计一下分组值的可能更改的频度,然后定义最经常更改的组为第一层。例如,报表可能需要一个按省份的分组和一个按城市的分组。城市字段的值比省份字段更易更改,因此,城市应该是两个组中的第一个,省份就是第二个。在这个多组报表内,表必须在一个关键值表达式上排序或索引过,例如:省份+城市。

  还可以对添加的单个或多个数据组进行更改分组设置,包括更改组带区、删除组带区、更改分组次序等操作。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答