当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机等级考试二级VFP辅导讲义:设计一个报表
发布时间:2010/10/23 0:54:22 来源:城市学习网 编辑:ziteng

第九节 设计一个报表

  报表向导给我们提供了经营式、帐务式、简报式、带区式、随意式等多种报表布局样式。其中称为帐务式的报表布局是我们常用到的,它比较符合我们的习惯。它是一种用表格封闭的表格式报表。我们在报表设计器提供的功能来建立一个这种帐务式一对多分组报表。

  新建一个空白报表布局。

  从“文件”菜单中选择“新建”,在“新建”窗口中选择“报表”,并单击“新建文件”按钮。出现空白报表设计器。

  为了更好地进行设计,先定制一下设计环境。

  单击“显示”菜单中的“工具栏”,从中选择所需的工具栏。

  单击“显示”菜单中的“网格线”。在报表设计器中出现网格线。

  单击“格式”菜单中的“设置网格线刻度”,在“设置网格线刻度”对话框中选择“系统默认值”,设置水平、垂直刻度均为 1。这时发现网格变小了。

  单击“显示”菜单中选择“显示位置”,在最下面的“状态条”中将显示鼠标的水平、垂直位置。

  添加数据源、设置报表排序输出

  激活数据环境窗口,把职工表和评估表添加进去。职工表和评估表在原数据库中已经建立一对多关系:评估表是父表,职工表是子表。如要对所选择的父表记录进行排序输出,事先必须在所要排序的表中对要排序的字段进行索引。在这里对父表中的“技术职务”字段进行索引排序。相应地,子表中也就应该对技术职务进行排序。教职工数据库已经对这些字段进行了索引,这里不必设置了。如要改成对其他字段的排序,则需在表设计器中为数据库表建立相应的索引。

  打开数据环境设计器,右键分别单击数据环境设计器中的“表”窗口,从弹出的快捷菜单中单击“属性”命令。在随后出现的“属性”窗口中选择“全部”或“数据”选项卡,修改   Order 属性值为“技术职务”。如职表中属性更改如下图:

d7-9-1.jpg (244854 字节)

  由于这是个一对多报表,还需要修改数据环境设计器中的OneToMany 的属性值。在“属性”窗口上部的下拉框中选择Relationl,这时会发现 ChildAlias 的值为“职工表”,ParentAlias 的值为“评估表”。将 OneToMany 的值设置为 “.T.-真”。如下图:

d7-9-2.jpg (248302 字节)

  使用“快速报表”快速设置报表布局

  为了快速创建一个初步的报表布局,我们使用快速报表功能。在“报表设计器”窗口,选择“报表”菜单的“快速报表”命令。在“快速报表”对话框中,选择“行布局”,单击“字段”按钮。在“字段选择器”窗口中选择需要的字段,如我们只选择职工表中的编号、姓名、出生年月、工作时间、聘任时间等。

  单击“确定”按钮,回到“快速报表”对话框,再单击“确定”按钮。这样一个快速报表布局完成了。

  如下图:

d7-9-3.jpg (246294 字节)
 报表数据分组

  从报表设计器快捷菜单或从“报表”菜单中选择“数据分组”命令。在“数据分组”对话框中的分组表达式文本框内输入或按其后三点式按钮从“表达式生成器”中生成表达式:职工表.技术职务,表示根据子表职工表的技术职务进行分组报表。还可根据需要在“数据分组”对话框中选择其他选项。

d7-9-4.jpg (18410 字节)

  添加组标头、组注脚带区控件---设置分组标题和分组总计

  对报表数据进行分组后,报表设计器中增加了“组标头”和“组注脚”两个空白带区,我们需要加入报表控件。

  由于父表中的一条记录对应于子表中的多条记录,分组标题的域控件应该来源于父表字段。拖动“组标头1”带区分隔栏,空出一个区域。数据环境设计器中,将父表评估表的“技术职务”和“评估条件”字段分别拖动到“组标头1”带区适当位置。

  拖动“组注脚1”带区分隔栏,空出一个区域。用“报表控件”工具栏中的域控件按钮在“组注脚1”带区中加入一个说明性域控件。在“报表表达式”对话框中按“表达式”框后的三点按钮进入“表达式生成器”,在其中生成表达式如下图所示:

d7-9-8.jpg (568614 字节)

  在上面说明性域控件后再用域控件按钮加入一个计算平均值域控件。在“表达式”框中选择或输入表达式:职工表.考核成绩。单击“格式”框后的三点式按钮,设置为数值型、格式为 99.99 。并选择“溢出时伸展”选项。如下图:

    d7-9-5.jpg (465918 字节) [NextPage]

  单击“报表表达式”中的“计算”:按钮进入“计算字段”对话框,在其中选择“平均值”选项。如下图:

d7-9-6.jpg (226566 字节)

  按“确定”按钮,返回“报表表达式”窗口。按“确定”按钮退出“报表表达式”窗口。这样,我们就在组注脚带区加入了“分组小计”域控件。    

  设计报表标题、合计

  选择“报表”菜单的中“标题/总结”选项,在“标题/总结”对话框中选择“标题带区”、“新页”、“总结带区”。如下图:    

d7-9-7.jpg (145654 字节)

  报表设计器中出现“标题”和“总结”空白带区。我们用标签控件在“标题”带区加入报表标题:技术职务人员考核一览表,并和第五节一样设置字体为“隶书”、“规则”、“二号”。

  添加统计总人数控件。用“报表控件”工具栏的“域控件”在“总结”带区添加一个域控件,在弹出“报表表达式”对话框中生成表达式:[参加考核总人数:]+STR(RECOUNT(),3,0) 。

  总平均考核成绩控件我们用报表变量来设计。 选择“报表”菜单中的“变量”选项,出现“报表变量”窗中,如下图:

d7-9-9.JPG (474362 字节)

  在“变量”框中输入变量名“AVERAGE”。单击“要存储的值”框后的三点按钮,在随后弹出的“表达式生成器”中选择“职工表.考核成绩”,并按“确定”按钮返回。选择“计算”框中的“平均值”选项。选择“报表输出后释放”选项。这样,我们就定义了变量AVERAGE的值是职工表考核成绩的平均值。

  用“报表控件”工具栏中的域控件按钮在“总人数”域控件后加入另一域控件,其表达式为:[平均考核成绩:]+STR(AVERAGE,5,2) 。其中STR(AVERAGE,5,2)表示将平均成绩(数值型)转变为长度为5,包含2位小数的字符串。

  修改报表布局

  在“页注脚”带区内,将“快速报表”生成的控件进行修改。将“时间”和“页码”改为第五节所述样式。

  在“细节”带区加入总表头,其名称为“技术职务人员考核情况一览表”,格式、下划线设置如第五节。

  对各个控件(特别是“快速报表”生成控件)的格式如字体、字号、颜色等进行设置。考虑到生成图示的尺寸,我们这里对格式不再修改。

  根据需要添加一些修饰的控件。这里我们不加。

  经过上面的步骤,报表的字段、分组、统计、标题等控件已加入完毕。我们再调整一下各控件的位置。如:

  拖动带区的分隔栏,将各个带区的高度调整合适。

  将标题和总表头居中。

  将各个字段域控件根据其内容多少调整其大小、相互的间距。

  将页标头带区内的字段说明标签控件调整到和相应的字段域控件上下对齐。

  其他控件调整到合适位置。

  注意

  1、在修改布局时,要注意思考如何才能使工作简化而有效,请参考前面对控件进行操作的内容。

  2、在修改时要多利用“预览”功能,以便合理调整。

  经过上面的设计,一个报表就完成了。报表设计器中的报表布局如下图(最上面标题部门和第五节基本一样,由于版面所限,这里不显示了):

d7-9-10.jpg (88704 字节)

  设计表格线、框

  前面生成的报表布局在报表设计器里显得并不乱,但由于使用了数据分组,预览时就会发现数据看起来比较乱。我们给报表加上各种边框,制作成帐务式报表,就清楚、明晰多了。

  我们先画封闭表格。

  从“报表控件”工具栏中选择“矩形”及“按钮锁定”按钮,移动鼠标到报表设计器的“细节”带区,这时鼠标指针变为十字形。把鼠标指向细节带区的左上角区域(例如显示位置为0,0.24时),按位鼠标左键拖动到细节带区的右下角,画出一个矩形框。其中包含“细节”带区所有的域控件。

  根据“细节”带区的矩形框的左右位置、高度,在页标头带区画出一个包含字段说明的矩形框。

  单击“报表控件”中的“线条”按钮(“按钮锁定”按钮仍为可用),在“细节”和“页标头”带区的矩形框内根据字段域控件内容的长度,对应加入多条竖线将各个字段隔开。注意:两带区内各竖线的相应位置要一样。

  对应于矩形框的左右边框的位置,在“组标头”带区画两条竖线;在“组注脚”带区画出两条竖线,并在“组注脚”带区的底部画一条横线。即将所有线、框组成封闭表格。

  我们再根据表格进行一些调整。

  如:按住SHIFT键,选中“细节”带区中的字段控件,在“格式”菜单中选择“对齐”---“居中”选择。调整其他控件的位置。

  经过上面的步骤,一个帐务式报表就设计完成了。如下图(标题在最上面,未显示):

d7-9-11.jpg (737150 字节)

  在预览窗口的上半部分显示如下(标题的显示单独一页,和第五节类似,这里不再显示):

d7-9-12.jpg (727110 字节)

  下面部分显示如下:

d7-9-13.jpg (554070 字节)

  加上表格是不是清楚多了?

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved