• 沒有找到結果。

存储在数据表中的数据可以用报表的形式输出。报表有两个基本组成部分:数据源和数 据布局。报表文件保存了数据输出的格式和相应的数据信息,并存储在具有.FRX 扩展名的文 件中。

在报表设计中,数据源可以是数据表、视图、查询等,还可以按照对数据源的使用要求 对数据进行筛选、排序和分组等操作,并对各个控件在报表的位置、所占空间、颜色等进行设 置。报表文件并不存储指定的字段值,而是存储这些数据的位置和格式信息。因此,每次输出 报表文件的内容都会随着数据表的内容改变而改变。 

5.8.1  数据报表 

1.用可视化方式创建报表 

Visual FoxPro 系统提供了“报表向导”工具,用于快速创建报表。

使用“报表向导”与使用其他“向导”工具一样,通过回答一系列的选择进行报表设计,

使得建立报表省时省力。在应用“报表向导”进行设计后,还可以通过“报表设计器”对报表 细节进行补充和修改。使用“报表向导”创建报表的一般步骤如下:

(1)在“项目管理器”中,打开要建立报表的数据源。例如,打开“学籍”数据库。选 择“文档”选项卡中的“报表”选项,如图 5.116 所示。单击“新建”按钮,弹出“新建报表”

对话框,如图 5.117 所示。

图 5.116  “项目管理器”对话框 图 5.117  “新建报表”对话框

(2)单击“报表向导”按钮,在出现的“向导选取”对话框中选择“报表向导”选项,

如图 5.118 所示。

(3)单击“确定”按钮,屏幕上出现“报表向导步骤  1-字段选取”对话框,如图  5.119  所示。该对话框与前面讲过的“查询向导”和“视图向导”中的“字段选取”操作基本相同,

这里不再重复了。

图 5.118  “向导选取”对话框 图 5.119  “报表向导步骤 1-字段选取”对话框

(4)单击“下一步”按钮,进入“报表向导步骤 2-分组记录”对话框,如图 5.120 所示。

该对话框用于对报表中的记录进行分组,统计每组相应的记录数或总计等。这里选择“性别”

进行分组,单击“分组选项”按钮,弹出“分组间隔”对话框,如图 5.121 所示,即将相同性 别的学生放在一组进行统计输出。

图 5.120  “报表向导步骤 2-分组记录”对话框 图 5.121  “分组间隔”对话框

(5)单击“下一步”按钮,进入“报表向导步骤  3-选择报表样式”对话框,如图 5.122  所示。选择“经营式” ,单击“下一步”按钮,进入“报表向导步骤 4-定义报表布局”对话框,

如图 5.123 所示,在其中选择“纵向” 。

图 5.122  “报表向导步骤 3-选择报表样式”对话框 图 5.123  “报表向导步骤 4-定义报表布局”对话框

(6)单击“下一步”按钮,进入“报表向导步骤 5-排序记录”对话框,如图 5.124 所示。

选择“学号”作为排序依据,单击“下一步”按钮完成全部操作,如图 5.125 所示。

图 5.124  “报表向导步骤 5-排序记录”对话框 图 5.125  “报表向导步骤 6-完成”对话框

(7)单击“预览”按钮,可以看到已经建好的报表,如图  5.126  所示。单击“完成”按 钮,屏幕上会出现“另存为”对话框,如图 5.127 所示。在其中为报表取名为“学生名册报表” , 然后单击“保存”按钮将报表存盘。

图 5.126  已经建好的报表 图 5.127  “另存为”对话框  2.浏览建立好的报表

对于已经建立好的报表可以进行浏览,浏览报表可以在“项目管理器”中进行。

例 5.37  浏览“学生名册报表” 。

浏览“学生名册报表”的操作步骤如下:

(1)打开“项目管理器” ,选择“文档”选项卡,如图 5.128 所示。

(2)打开“文档”选项卡中的“报表”项,选择其中的“学生名册报表” 。单击“预览”

按钮或选择“显示”→“预览”菜单项,屏幕上会出现已经建好的“学生名册报表” ,如图 5.126  所示。

3.修改报表

对于已经建立好的报表,可以在“报表设计器”中对报表布局进行修改。

(1)在“项目管理器”中打开报表。在“项目管理器”的“文档”选项卡中选择“报表”

→“学生名册报表”项,然后单击“修改”按钮, “学生名册报表”以编辑方式在“报表设计 器”中打开,如图 5.129 所示。在“报表设计器”中可以重新调整报表布局。

例 5.38  修改“学生名册报表”的布局。

修改“学生名册报表”布局的操作步骤如下: 

1)打开“项目管理器” ,选择“文档”→“报表”项中的“学生名册报表” ,如图  5.128  所示。单击“修改”按钮,屏幕上会出现“报表设计器”窗口,如图 5.129 所示。

图 5.128  “项目管理器”对话框中的“文档”选项卡 图 5.129  “报表设计器”窗口 

2)在“报表设计器”窗口中,可以对报表布局进行修改,如图  5.130  所示。修改完毕后 单击关闭窗口按钮 ,屏幕上出现修改确认对话框,如图 5.131 所示。

图 5.130  对报表布局的修改 图 5.131  确认对话框 

3)在确认对话框中单击“是”按钮,屏幕上出现修改后的报表,如图 5.132 所示。

在“报表设计器”中有很多区域,这些区域称为“带区” 。每个带区有不同的内容,这些 内容分别是:文本、表中的字段、函数或表达式、线条和框等。这些内容是“报表向导”自动 加入的,可以根据需要进行修改。修改的方法是通过“报表控件工具栏” 、 “调色板工具栏”和

“布局工具栏” 对各带区的内容进行修改。 要打开 “报表控件工具栏” 、 “调色板工具栏” 和 “布 局工具栏” ,可以在“报表设计器”中选择“显示”→“报表控件工具栏” 、 “显示”→“调色 板工具栏”或“显示”→“布局工具栏”菜单项,此时“ 报表控件工具栏” 、 “调色板工具栏”

和“布局工具栏”会显示在报表设计器中,如图 5.133 所示。

图 5.132  修改后的报表 图 5.133  报表设计器中的工具栏

在“报表设计器”的带区中,可以插入各种控件,他们包含打印的报表中所需的标签、

字段、变量和表达式。例如,在“学生名册报表”的布局中,向导已将字段控件置成“学号” 、

“姓名” 、 “性别”和“入学成绩”等。 达式生成器”对话框,在其中将 DATE()修改为上式,如图 5.136 所示。然后单击“确定”按 钮,返回“报表表达式”对话框,再单击“确定”按钮,完成修改。

图 5.134  弹出的快捷菜单

图 5.135  “报表表达式”对话框 图 5.136  “表达式生成器”对话框 用同样的方法还可以在“细节”带区加上用于计算“年龄”的控件。

例 5.40  为“学生名册报表”添加“年龄”数据项。

为“学生名册报表”添加“年龄”数据项的操作步骤如下:

①先用标签工具 在“报表设计器”中的页标头带区添加上“年龄”标题。

②单击“报表控件工具栏”中的“域控件”按钮 ,然后在“细节”带区中的“年龄”

标题下单击,此时屏幕上会出现“报表表达式”对话框,如图 5.135 所示。

③单击“表达式”文本框旁的 按钮,屏幕上出现“表达式生成器”对话框,在“报表 字段的表达式” 文本框中写入计算年龄的表达式: YEAR(DATE())­YEAR(学生名册.出生日期),

如图 5.137 所示,然后单击“确定”按钮,此时在“细节”带区增加了一个新的计算年龄的控 件,如图 5.138 所示。

图 5.137  “表达式生成器”对话框 图 5.138  在报表设计器中添加新数据项 

3)修改报表标题。对已有的标题或字段控件进行修饰,例如改变字体、画线条等,可以 采用以下方法:

l 要选择多个要修饰的控件,可以按下 Shift 键,

再用鼠标单击要选的控件,选好控件后再选择

“格式”→“字体”菜单项,在弹出的“字体”

对话框中选择满意的字体、字体样式、字体大 小、效果和颜色等,如图 5.139 所示。

l 如果想用“线条” 、 “矩形”或“圆角矩形”等 简单的线条修饰一下报表画面,可以单击“线 条” 、 “矩形”或“圆角矩形”按钮,在需要的

带区上画直线和方框等。 图 5.139  “字体”对话框

4)修改报表的页码。页注脚一般包含一个用于显示制表日期的日期函数,系统变量  _PAGENO  用于显示当前打印的页数。 “报表向导”会在报表的“页注脚”中自动地加入这两 个控件,如果报表中没有这些项,可以将“标签”按钮和“域控件”按钮配合使用即可加入。

例 5.41  修改“学生名册报表”中的页码显示方式。

修改“学生名册报表”中页码显示方式的操作步骤如下:

①双击“页注脚”中的“页码”控件,在出现的“报表表达式”对话框中单击“表达式”

文本框右边的 按钮,屏幕上出现“表达式生成器”对话框,如图 5.137 所示。将“报表字段 的表达式”文本框中的表达式"页码" +ALLTRIM(STR(_PAGENO))修改如下: 

"第"+STR(_PAGENO,2)+"页" 

②单击“确定”按钮返回到“报表表达式”对话框中,如图 5.140 所示。在其中单击“确 定”按钮, “页码”控件修改完毕。式中的系统变量_PAGENO 的功能是返回当前的页码。 

5)修改报表数据的分组。 “学生名册报表”的数据是按“性别”分组显示的。利用分组 可以明显地分隔每组的记录,使数据以组的形式显示。组的分隔是根据分组表达式进行的,这 个表达式通常由一个以上的字段生成,有时也会相当复杂,可以添加一个或多个组、更改组的 顺序、重复组标头或者更改、删除组带区。

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

要修改分组,在“报表设计器”中可以选择“报表”→“数据分组”菜单项,屏幕上会 出现“数据分组”对话框,如图 5.141 所示,其中已经有了“性别”作为分组依据。在该对话 框中,可以对分组进行重新设置,其中包括标头、注脚文本、重置页号等设置。

图 5.140  修改后的页码显示方式 图 5.141  “数据分组”对话框

“数据分组”对话框中包含如下几个部分:

l 分组表达式:是当前报表的分组依据(可以由字段名及其表达式组成),允许输入新 的字段名。如果要创建一个新的表达式,单击其后面的 按钮,可以在出现的“表 达式生成器”对话框中输入。

l 组属性:用于设置报表分页。若要增加一个分组,则单击“插入”按钮在“分组表达 式”框中插入一新的分组表达式。若要去掉一个分组,选择分组表达式,再单击“删 除”按钮即可。

修改或添加了分组表达式后,可以在带区内放置任意需要的控件。通常,把分组所用的

修改或添加了分组表达式后,可以在带区内放置任意需要的控件。通常,把分组所用的

相關文件