报表 (Report) 是数据库管理系统中各种统计信息量常用的输出形式,它可以直接和数据库相联系,利用已定义好的格式、布局和数据源,生成用户需要的各种打印样式后打印输出,报表设计是数据库管理的一项很重要的技术。
9.1 创建报表
报表主要由数据源和布局两个部分组成。数据源通常是数据库中的表,也可以是视图、查询和自由表。报表布局定义了报表的打印格式。设计报表就是根据报表的数据源和应用需要来设计报表的布局。
9.1.1 概述
报表的基本结构
报表的结构分为表头、表体和表尾三部分。如图 9-1 所示:
表头 指报表上方的有关内容描述,通常包括表名或标题、报表编制单位、日期和横栏项目等。
表体 是报表中的主要部分,其内容通常就是数据表、查询或视图中的数据。
表尾 指的是报表底部的说明内容,通常包括编制人、审核人、备注等信息。

课程编号 |
课程名 |
学时 |
学分 |
101 |
英语 |
200 |
6 |
102 |
高等数学 |
120 |
5 |
103 |
大学语文 |
80 |
3 |
104 |
商务学 |
42 |
2 |
105 |
软件工程 |
72 |
3 |
106 |
材料力学 |
42 |
2 |
总 计 |
556 |
21 |
编制单位: XXX 学院教务处
说明:本课程信息表自 2001 年 1 月 1 日起正式使用,在此日期
前的旧课程表已无效,望各部门及时更改相关信息
报表布局的类型
报表的总体布局大致上可分为列报表、行报表、一对多报表多栏报表和标签 5 大类。
列布局 其主要特征是报表每行一条记录,记录的字段在页面上按水平方向放置,是一种常用的报表布局类型。
行布局 报表只有一栏记录,一条记录占用报表多行位置,字段沿报表边沿向下排列。
一对多布局 报表基于一条记录及一对多生成。打印时在父表中取得一条记录后,必须将子表中与其相关的多条记录取出打印。
多栏布局 报表拥有多栏记录,可以是多栏行报表,也可以是多栏列报表。
标签布局 这类布局一般拥有多栏记录,记录的字段沿左侧竖直放置对齐,向下排列。
创建报表的方法
VFP 提供了三种创建报表的方法。
使用报表向导创建报表 VFP 中文版提供了 4 种类型的报表向导:报表向导、一对多报表向导、标签向导和邮件向导。
使用快速报表创建报表
使用报表设计器创建报表
9.1.2 使用报表向导创建报表
启动报表向导
项目管理器中打开“文档”选项卡,选择报表项,然后单击“新建”按钮,在出现的“新建报表”对话框中单击“报表向导”按钮。
择“文件 / 新建”命令,在“新建”对话框中选择“报表”文件类型,然后单击“向导”按钮,或者选择“工具 / 向导 / 报表”命令
单一报表
单一报表是用一个单一的表创建报表,从“向导选取”对话框中选择“报表向导”项,可启动单一报表向导。
例:利用报表向导创建一个反映学生基本情况的报表。
操作步骤如下:
在项目管理器中选择“报表”项,单击“新建”按钮后,进入“报表向导”窗口。
在“步骤 1 —字段选取”窗口(如图 9-2 所示)中,从“数据库和表”列表表框中选择“教学管理”数据库中的“学生”表,并选定在报表中使用的字段:学号、姓名、性别、出生日期、系别、贷款否。单击“下一步”。
在“步骤 2 —分组记录”窗口(如图 9-3 所示)中,选择对数据进行分析的字段。 注意,只有按照分组字段建立索引之后才能正确分组,最多可建立三层分组。 本例按“系别”分组,单击“下一步”。
图 9-3
图 9-2
在“步骤 3 —选择报表样式”窗口(如图 9-4 所示)中, VFP 提供了 5 中输出样式,本例选择“经营式”。单击“下一步”。
在“步骤 4 —定义报表布局”窗口(如图 9-5 所示)中,选择适当的报表布局,单击“下一步”。
图 9-5
图 9-4
在“步骤 5 —排序记录”窗口(如图 9-6 所示)中,确定记录在报表中出现的顺序。 注意,排序字段必须已经建立了索引。 本例选择“学号”,并按“升序”方式排列。单击“下一步”按钮。
在“步骤 6 —完成”窗口(如图 9-7 所示)中,单击“预览”按钮可查看报表的效果。
图 9-7
图 9-6
3 .一对多报表
一对多报表向导用于生成分组报表,其中用于分组的记录来自父表文件,而组中包含的记录来自子表文件。
例:以“课程”为父表,成绩为子表,建立一对多报表。
操作步骤:
在项目管理器中选择“报表”项,单击“新建”按钮后,进入“一对多报表”向导按钮。
在“步骤 1 —从父表选择字段”窗口(如图 9-8 所示)中,选择“教学管理”数据库中的“课程”表作为父表,选定字段:课程号、课程名、学分。单击“下一步”。
在“步骤 2 —从子表中选择字段”窗口(如图 9-9 所示)中,从子表“成绩”中选取字段:学号、成绩。单击“下一步”。
图 9-9
图 9-8
在“步骤 3 —为表建立关系”窗口(如图 9-10 所示)中,建立父表与子表之间的关联,本例选定为“课程 . 课程号 = 成绩 . 课程号”。单击“下一步”按钮。
图 9-10
在“步骤 4 —排序记录”窗口,选择“课程号”为排序索引,采用“降序”方式。
在“步骤 5 —完成报表样式”窗口中,选择“财务式”报表。
在“步骤 6 —完成”窗口中,设置报表标题。
9.1.3 使用设计器创建报表
用报表设计器建立报表
打开报表设计器窗口有以下几种方法:
项目管理器方式
在项目管理器中选择“文档”选项卡,选中“报表”项,然后单击“新建”按钮,在“新建报表”对话框中单击“新建报表”按钮。
菜单方式
选择“文件 / 新建小”命令,或者单击常用工具栏中的“新建”按钮,在“新建”对话框中选择“报表”文件类型,然后单击“新建文件”按钮。
命令方式
格式: CREATE REPORT [< 报表文件名 >]
用以上方法都可以打开报表设计器窗口 , 报表设计器窗口是一个设计区域 , 默认划分为三个区 : 页标头、细节、页注脚。“页标头“上可以书写报表表头信息。在“细节”上面可以填写要输出的字段,这一部分是以行方式在页面伸展的。在“页注脚”书写本页内的信息。
创建快速报表
在报表设计器环境下,可以用 VFP 提供的“快速报表”功能创建一个基本的报表,然后在此基础上进一步修改和完善
例:利用快速报表功能创建一个反映学生基本情况的报表。
操作步骤:
在项目管理器中选择“报表”,单击“新建”按钮,打开“报表设计器”窗口。
选择“报表 / 快速报表”命令,出现“打开”对话框,选择报表的数据源为“学生 .DBF ”。
在“快速报表”对话框中选择字段布局、标题和字段,如图 9-11 。
图 9-11
单击“字段”按钮,打开“字段选择器”对话框,为报表选择可用字段,如图 9-12 所示。单击“确定”按钮,关闭“字段选择器”返“回快速报表”对话框。

表 9-12
在“快速报表”对话框中单击“确定”按钮,创建的快速报表便出现在报表设计器窗口中。
显示“显示 / 预览”命令预览快速报表。
9.1.4 报表的保存与浏览
1. 报表的保存
每个报表都有一定的格式,保存在扩展名为 .FRX 的报表文件中,同时系统生成一个扩展名为 .FRT 的相关文件。保存的方法是:从“文件”菜单中选择“保存”或“另存为”,然后在“另存为”对话框中选择文件存放的位置并输入新的文件名,最后单击“保存”按钮。
2. 预览报表
预览报表的方法有以下几种:
在项目管理器中展开“报表”项,选择要预览的报表后,单击“预览”按钮。
在报表设计器环境下选择“显示 / 预览”命令,或右击报表设计器窗口,从快捷菜单中选择“预览”命令,也可直接单击常用工具栏中的“打印预览”命令。 |