《第七章 报表设计》由会员分享,可在线阅读,更多相关《第七章 报表设计(21页珍藏版)》请在金锄头文库上搜索。
1、第七章 报表设计 修改默认目录为:源代码rsgl7.1 报表概述 n报表报表:指利用数据库中的数据制作并且打印输出的指利用数据库中的数据制作并且打印输出的表格文档,常用于向上级、下级或其他部门提供有表格文档,常用于向上级、下级或其他部门提供有关的数据信息,也是关的数据信息,也是VFP数据操作的最终结果。数据操作的最终结果。 n报表主要包括两部分内容报表主要包括两部分内容:1.数据源数据源:报表的数据来源,可以是数据库中的表、报表的数据来源,可以是数据库中的表、自由表,也可以是查询、视图、临时表。自由表,也可以是查询、视图、临时表。2.布局布局:定义了报表的打印格式,通常有列报表、定义了报表的打
2、印格式,通常有列报表、行报表、一对多报表、多栏报表等布局方式。行报表、一对多报表、多栏报表等布局方式。n创建报表的创建报表的3种方法种方法:1.利用报表设计器利用报表设计器2.利用向导创建报表利用向导创建报表3.快速报表生成器创建报表快速报表生成器创建报表 7.2 利用报表设计器创建报表 启动报表设计器的启动报表设计器的3种方法:种方法:1项目管理器方式。项目管理器方式。 “报表新建新建报表报表新建新建报表”。2菜单方式。菜单方式。 “文件新建报表新建文件文件新建报表新建文件”。3命令方式。命令方式。 CREATE REPORT 注:报表文件扩展名为注:报表文件扩展名为 .frx7.2.1 报
3、表设计器组成及数据环境1报表设计器的组成报表设计器的组成n三个带区:页标头、细节和页注脚。三个带区:页标头、细节和页注脚。 n除了系统默认的三个带区,还可以将下表中列出除了系统默认的三个带区,还可以将下表中列出的其他带区添加到报表设计器,不同的带区作用的其他带区添加到报表设计器,不同的带区作用和意义各不相同,用户可以根据自己设计报表的和意义各不相同,用户可以根据自己设计报表的实际需要来选择。实际需要来选择。表-报表带区及作用 7.2.1 报表设计器组成及数据环境2数据环境设置数据环境设置n打开数据环境设计器打开数据环境设计器2种方式:种方式:(1)菜单菜单“显示数据环境显示数据环境”。(2)报
4、表设计区右击报表设计区右击“数据环境数据环境”。 n在在数数据据环环境境设设计计器器中中右右击击“添添加加”,可可以添加作为报表数据源的表或视图等。以添加作为报表数据源的表或视图等。 7.2.2 报表设计工具栏n工具栏的显示与隐藏:菜单工具栏的显示与隐藏:菜单“显示工具栏显示工具栏”。 “报表设计器报表设计器”工具栏工具栏 “报表控件报表控件”工具栏工具栏7.2.2 报表设计工具栏3修改报表修改报表 菜单菜单“文件打开文件打开”。 工具栏上的打开按钮。工具栏上的打开按钮。 命令:命令:MODIFY REPORTMODIFY REPORT 报表文件名。报表文件名。 项目管理器修改项目管理器修改。
5、4.预览报表预览报表 项目管理器预览。项目管理器预览。 REPORT FORM REPORT FORM 报表文件名报表文件名 PREVIEWPREVIEW7.2.3 报表调整1报表带区大小的调整报表带区大小的调整n按下鼠标左键拖动报表区分隔栏粗调。按下鼠标左键拖动报表区分隔栏粗调。n使用报表带区控制对话框(双击报表带区分隔栏)使用报表带区控制对话框(双击报表带区分隔栏)精确控制。精确控制。7.2.3 报表调整2报表对象的定位报表对象的定位n网格:菜单网格:菜单“显示显示网格线网格线”。n标尺:窗口的顶部及左侧。标尺:窗口的顶部及左侧。n菜单菜单“格式设置网格刻度格式设置网格刻度标尺标尺/网格对
6、话框网格对话框” : 设定网格的大小及标尺的度量单位。设定网格的大小及标尺的度量单位。n“格式格式捕捉网格捕捉网格”“格式格式对齐格线对齐格线”7.2.3 报表调整3改变报表对象尺寸改变报表对象尺寸 选中对象,对象选中对象,对象四个角上的控点四个角上的控点用于同时调整用于同时调整对象的宽和高,而对象的宽和高,而四条边上的控点四条边上的控点分别用于调整分别用于调整对象的宽度和高度。对象的宽度和高度。4设置对象的格式设置对象的格式 选中对象,菜单选中对象,菜单“格式格式” 。7.2.3 报表调整5设置对象属性设置对象属性 双击报表页面上的对象,打开该对象的双击报表页面上的对象,打开该对象的“属性属
7、性”对话框,属性的内容因对象而异。对话框,属性的内容因对象而异。6对象分组对象分组 按住按住Shift键,用鼠标逐一单击各对象,可同时键,用鼠标逐一单击各对象,可同时选中许多对象,菜单选中许多对象,菜单“格式分组格式分组”; “格式取消分组格式取消分组” 。 7对象拷贝对象拷贝8对象删除对象删除 菜单菜单“编辑清除编辑清除”;Del键键9布局工具条和调色版布局工具条和调色版7.2.4 报表设计应用实例【例例7-1】在人事管理数据库在人事管理数据库Rsgl中有表中有表Rsgl、表、表Rsda和表和表Rsgz,现在要制作一个报表,其中包括每位教师的,现在要制作一个报表,其中包括每位教师的部门名、部
8、门名、编号、姓名、编号、姓名、【职称、职称、】工作时间工作时间【、基本工资、基本工资】和和实发工实发工资资,在报表中,以每一个部门为一个分组,对每一个分组要,在报表中,以每一个部门为一个分组,对每一个分组要计算出该部门的平均基本工资和平均实发工资。报表要加表计算出该部门的平均基本工资和平均实发工资。报表要加表格线,页标题用二号黑体字印出,页尾增加打印日期和页码。格线,页标题用二号黑体字印出,页尾增加打印日期和页码。n(该例学生自己做,用该例学生自己做,用单一报表向导单一报表向导建立一个关于建立一个关于Rsgl(部部门名,编号,姓名门名,编号,姓名)按照)按照部门名部门名分组的报表,在数据环境添
9、分组的报表,在数据环境添加加Rsda,Rsgz,建立关于,建立关于编号编号的联系后用报表设计器向报的联系后用报表设计器向报表中添加表中添加Rsda.工作时间工作时间和和Rsgz.实发工资实发工资,并求并求平均实发工平均实发工资)资)7.3 利用向导创建报表 n项目管理器项目管理器“文档报表新建报表向导文档报表新建报表向导报报表向导表向导”;n菜单菜单“文件新建文件新建”;n系统菜单或工具栏系统菜单或工具栏“新建新建”都可启动报表向都可启动报表向导。导。7.3 利用向导创建报表1使用单一报表向导使用单一报表向导 (1)选取报表字段)选取报表字段 (2)分组记录)分组记录 (3)选择报表样式)选择
10、报表样式 (4)定义报表布局)定义报表布局 (5)设定排序依据)设定排序依据 (6)保存报表)保存报表 n在人事管理数据库在人事管理数据库Rsgl中有表中有表Rsgl、表、表Rsda和表和表Rsgz,现在要制作一个报表,其中包括每位教师,现在要制作一个报表,其中包括每位教师的的Rsgl(部门部门名、编号、姓名名、编号、姓名)、 Rsda(工作时间工作时间)和和Rsgz(实实发工资发工资),在报表中,以每一个部门为,在报表中,以每一个部门为一个分组,对每一个分组要计算出该部门的平均实一个分组,对每一个分组要计算出该部门的平均实发工资。报表要加表格线,页标题用二号黑体字印发工资。报表要加表格线,页
11、标题用二号黑体字印出,页尾增加打印日期和页码。出,页尾增加打印日期和页码。例、利用单一报表向导做例例、利用单一报表向导做例71。7.3 利用向导创建报表2一对多报表向导一对多报表向导n一对多报表向导将父表和子表的记录分组并产生一对多报表向导将父表和子表的记录分组并产生一个新的报表。报表的一个新的报表。报表的上半部分上半部分内容来自内容来自父表父表,报表的报表的下半部分下半部分内容来自内容来自子表子表。n一对多报表向导与单一表报表向导之间的一对多报表向导与单一表报表向导之间的区别区别: 一对多关系需要打开一对多关系需要打开两个或以上两个或以上的表,确定的表,确定 一个表为父表一个表为父表,一个或
12、几个表为子表一个或几个表为子表; 需要建立各个表之间的需要建立各个表之间的关联关联。n例、利用一对多报表向导建立关于例、利用一对多报表向导建立关于rsgl(编号、(编号、部门、姓名)和部门、姓名)和rsgz(基本工资、职务补贴(基本工资、职务补贴实发工资)的报表。实发工资)的报表。 7.4 快速创建报表1先启动报表设计器先启动报表设计器2使用快速报表使用快速报表 系统菜单中选择系统菜单中选择“报表快速报表报表快速报表”。 (1)报表格式排列)报表格式排列 (2)报表字段选择)报表字段选择 (3)复选框设置)复选框设置n例、向例、向rsda.dbf中添加简历信息。用中添加简历信息。用快速快速创建
13、报表创建报表建立关于建立关于rsda的报表,和用的报表,和用单一单一报表向导报表向导建立的建立的rsda报表对比。报表对比。7.5 报表的优化设计1改变报表的列标题改变报表的列标题2改变报表表达式改变报表表达式3输出变长度值的对象输出变长度值的对象4增加表格线增加表格线5多库联合报表多库联合报表6在报表中使用自变量在报表中使用自变量7不输出重复值不输出重复值8不输出空行不输出空行9有关分组的输出设置有关分组的输出设置7.6 报表的预览与打印1工具栏方式:工具栏方式: 工具栏上的工具栏上的 预览,项目管理器中的预览,项目管理器中的“预览预览”预览;预览; 工具栏上的工具栏上的 打印。打印。2菜单
14、方式:菜单方式:“文件打印预览文件打印预览”预览,预览, “文件打印文件打印”打印。打印。3命令方式:命令方式:【格式格式】REPORT FORM 报表文件名报表文件名 | ?范围范围 FOR 条件条件 WHILE条件条件RANGE开始页码开始页码 , 终止页码终止页码PREVIEW IN WINDOW 窗口名窗口名 | IN SCREENTO PRINTER PROMPT | TO FILE 文件名文件名 ASCIISUMMARY7.6 报表的预览与打印n例例74、预览报表、预览报表“报表报表1.frx”。 report from 报表报表1 previewn例例75、输出报表、输出报表“报表报表1.frx”到文件到文件exer.txt。 report from 报表报表1 to file exer.txtn例例76、打印报表、打印报表“报表报表1.frx”。 report from 报表报表1 to printer