第 14章 创建输出报表第 14 章创建输出报表介绍创建报表的 3种方法:( 1)使用,报表向导,制作报表;( 2)使用,快速报表,制作单表报表;( 3)
使用,报表设计器,制作和修改报表。
第 14章 创建输出报表
14.1 报表概述
14.2 使用,报表向导,制作报表
14.3 使用,快速报表,制作单表报表
14.4 使用,报表设计器,制作和修改报表
14.4.1 报表带区
14.4.2 报表的数据环境
14.4.3 报表控件
14.4.4 报表布局
14.4.5 分组报表
14.5 在项目中添加报表教学内容第 14章 创建输出报表
1,报表组成报表由两部分组成:数据源和报表布局 。 数据源是报表的数据来源,报表的数据源通常是数据库中的表文件,也可以是视图,查询或临时表 。 报表布局定义了报表的打印格式 。
用户设计好报表布局后,Visual Foxpro将该报表布局的详细信息存放在以 frx为扩展名的文件中,称为报表布局文件 。 该文件指定要用的数据字段,要打印的文本以及报表的布局格式 。 每次运行报表,报表中的数据字段的域控件从数据源中取出数据 。
14.1 报 表 概 述第 14章 创建输出报表
2,报表布局表 14.1 报表常规布局类型布局类型 说 明 示 例列报表 每行一条记录,每个记录的字段 分组 /总计报表,财务报在页面上按水平方向依次放置 表,存货清单,销售结行报表 一列一个记录,记录字段数决定 收银台单据占用行数,一般各字段左边缘对齐放置一对多报表 父表中每选出一条记录,对应从 发票,货运清单子表中选出多条记录生成打印文档多栏报表 每条记录的字段沿分栏的左边 电话号码薄,名片缘竖直放置 。
第 14章 创建输出报表
Visual Foxpro 6.0为用户提供了 3种创建报表布局的方法:
( 1) 用,报表向导,或,一对多报表向导,创建单表或多表报表 。
( 2) 用,快速报表,创建单表报表 。
( 3)用,报表设计器,创建或修改单表或多表报表。
第 14章 创建输出报表
14.2 使用,报表向导,制作报表
1,启动,报表向导,
( 1) 选择系统的,文件,菜单下的,新建,菜单项,在弹出的,新建,对话框中选中,报表,单选按钮,然后单击,向导,按钮,出现,向导选取,对话框 。
( 2) 在系统菜单中选中,工具,菜单下的,向导,子菜单,在下一级菜单中再选择,报表,菜单项,进入,向导选取,对话框 。
( 3) 单击系统工具栏上的,报表,图标按钮 。
第 14章 创建输出报表报表向导启动时,首先弹出,向导选取,对话框第 14章 创建输出报表
2.“报表向导,的 6个步骤
( 1) 字段选取第 14章 创建输出报表
( 2) 记录分组第 14章 创建输出报表
( 3) 选择报表样式第 14章 创建输出报表
( 4)定义报表布局第 14章 创建输出报表
( 5)记录排序第 14章 创建输出报表
( 6)完成第 14章 创建输出报表
14.3 使用,快速报表,制作单表报表通过学生表 ( 学生表,dbf) 创建快速报表的的操作步骤:
1,选择系统菜单的,文件,菜单下的,新建,子菜单项,在弹出的,新建,对话框中选中,报表,单选钮,然后单击,新建文件,按钮,进入,报表设计器,,出现一个空白报表 。
2,选择系统菜单,报表,菜单下的,快速报表,子菜单项,弹出,打开,对话框,选择相应路径下的学生表,dbf 。
3,系统弹出,快速报表,对话框,
第 14章 创建输出报表对话框中主要按钮和选项的含义如下:
( 1) 字段布局:两个较大的图形按钮用于设计报表的字段布局,单击左侧按钮产生列报表,单击右侧的按钮则产生行报表,其字段在报表中竖向排列 。
第 14章 创建输出报表
( 2),标题,复选框:选中该项,表示在报表里为要输出的字段添加一个标题 。 一般都需要加字段标题来区分不同的字段 。 系统默认各字段的标题与其字段名相同 。
( 3),添加别名,复选框:选中该项,表示在输出的字段变量前加上所要报表的别名 。
( 4),将表添加到数据环境中,复选框:选中该项,表示把打开的数据表添加到数据环境中作为报表的数据源 。
( 5),字段,按钮,点击将打开,字段选择器,对话框,可以从中选择所要输出的表字段 。 缺省情况下,快速报表选择表文件中除通用型字段以外的所有字段 。
第 14章 创建输出报表
4,在,快速报表,对话框中单击,确定,按钮,快速报表便出现在,报表设计器,中
5,单击工具栏,打印预览,按钮,或从系统,显示,
菜单下选择,预览,菜单项,打开快速报表的预览窗口 。
6,单击,保存,按钮,保存报表为,学生报表,frx” 文件。
第 14章 创建输出报表下面任一种方法均可打开报表设计器:
①在,项目管理器,中:点击,文档,选项卡,在列表框里出现的选项中选择,报表,,点击,新建,按钮,弹出的
,新建报表,对话框,在其中选择,新建报表,命令按钮。
②菜单方式:选中,文件,菜单下的,新建,菜单项,在弹出的,新建,对话框中选择,报表,单选钮,然后点击,
新建文件,命令按钮。
③使用命令,CREATE REPORT <报表文件名 >。
④打开已有的报表文件,即可打开报表设计器。
14.4 使用,报表设计器,制作和修改报表第 14章 创建输出报表报表设计器第 14章 创建输出报表带区的作用主要是控制数据在页面上的打印位置,带区名标识在带区下的标识栏上 。 在每个报表中都可以添加或删除若干个带区,由用户自己设置 。 打印或预览报表时,系统会以不同的方式处理各个带区的数据 。
表 14.2 报表常用带区及打印频率 ( 下页 )
14.4.1 报表带区第 14章 创建输出报表带 区 打 印 频 率 表 示 内 容标题 每张报表开头打印一次 标题,日期或公司徽标页标头 每页打印一次 页标题细节 每条记录打印一次 各记录的字段值页注脚 每个页面下面打印一次 页码和日期,每页总计总结 每张报表最后一页打印一次或单独占用一页 报表总结组标头 每个数据分组打印一次 分组字段和分隔线组注脚 每个数据分组打印一次 分组总结列标头 在分栏报表中每列打印一次 列标题列注脚 在分栏报表中每列打印一次 总结或总计第 14章 创建输出报表设计的报表使用相同的数据源,则可以将该数据源添加到报表的数据环境中 。 数据环境通过下列方式管理报表的数据源:打开或运行报表时打开表或视图;基于相关表或视图收集报表所需数据集合;关闭或释放报表时关闭表 。
如果报表不是固定使用同一个数据源,在使用报表时由用户先做出选择,如设计一个包含若干个按钮的对话框,在每一个按钮的 Click 事件过程中设置打开表 ( 视图 ) 的命令或 SELECT-SQL 语句等 。
14.4.2 报表的数据环境第 14章 创建输出报表例 14.1为空白报表添加学生表和成绩表的数据源 。
步骤如下:
1,打开,报表设计器,生成一个空白报表 。 然后用以下任一种方法打开数据环境设计器 。
( 1) 在,报表设计器,工具栏上单击,数据环境,按钮 。
( 2) 在,显示,菜单下选择,数据环境,菜单项 。
( 3) 在,报表设计器,窗口的任何位置右击鼠标,从快捷菜单中选择,数据环境,菜单项 。
2.在系统的,数据环境,菜单中单击,添加,菜单项;
或者在,数据环境设计器,窗口中右击鼠标,从快捷菜单中选择,添加,命令 。 弹出,添加表或视图,对话框 。
第 14章 创建输出报表
3,选择作为数据源的表或视图,点击,添加,按钮 。 本例打开,学籍管理系统,数据库,选择成绩表,dbf 和学生表,dbf,如图 14.13所示 。
4,单击,关闭,按钮第 14章 创建输出报表
“报表控件,工具栏 各按钮功能:
,选定对象,按钮:移动或更改控件的大小 。
,标签,按钮:在报表上创建一个标签控件 。
,域控件,按钮:用于在报表上显示表字段,内存变量或其他表达式的内容 。
,线条,(,矩形,,,圆角矩形,) 按钮:分别用于在鼠标点击的位置放置一个大小可调的相应图形 。
,图片 /Active 绑定控件,按钮:显示图片或通用型字段的内容 。
,按钮锁定,按钮:允许添加多个相同类型的某控件而不需要多次重复选中该控件按钮 。
14.4.3 报表控件第 14章 创建输出报表
“域控件,的使用方法域控件用于显示表或视图中的字段,变量和表达式的计算结果 。 域控件一般放在细节带区里 。
( 1) 添加域控件
,报表表达式,对话框第 14章 创建输出报表
( 2) 定义域控件的格式双击报表中的域控件,打开,报表表达式,对话框,
单击,格式,文本框右侧对话框按钮,弹出,格式,对话框 。
格式决定了打印报表时域控件如何显示 。 更改域控件的数据类型并不改变字段在表中的数据类型 。
选择域控件数据类型:字符型,数值型或日期型,
选择不同类型时,,编辑选项,区域的内容将有所变化 。
选择,编辑选项,区域中的一些选项确定格式以后,
其结果将在,报表表达式,对话框中,格式,文本框中显示 。
第 14章 创建输出报表
( 3) 设置域控件打印条件,点击,报表表达式,对话框中的,打印条件,按钮,弹出,打印条件,对话框 。
① 打印重复值:表中有多条记录在某一个字段取值相同,
选择,否,,报表只打印一次相同值 。
② 有条件打印
●,在新页 /列的第一个完整信息带内打印,
●,当此组改变时打印,。
●,当细节数据溢出到新页 /列时打印,
③ 仅当下列表达式为真时打印,Visual Foxpro允许建立一个打印表达式,只有表达式的结果为,真,,才打印该字段 。
第 14章 创建输出报表
“计算,按钮,为报表的数据创建一个结果字段 。 单击
,报表表达式,对话框中的,计算,按钮,打开,计算字段,对话框 。
,重置,下拉列框:把表达式计算的结果重置为初始值,系统默认值是,报表尾,选项,表示到报表尾才重置此计算字段为初始值 。 当然也可以选择,页尾,或,列尾,
选项 。
,计算,区域,有 8个单选项,指定在报表表达式中执行的计算 。
第 14章 创建输出报表
1,2,图片 /ActiveX绑定控件
OLE为对象链接与嵌入技术。一个 OLE 对象可以是图片、声音、文档等,Visual Foxpro的表可以包含这些 OLE
对象,报表也能处理 OLE 对象。
在,报表设计器,窗口中,单击,报表控件,工具栏
,图片 /ActiveX 绑定控件,按钮,在带区内拖动鼠标拉出图文框,弹出,报表图片,对话框。
第 14章 创建输出报表图片来源有两个选项:
(1)“文件,,如果希望要加入的图片不随记录的打印而改变,则选择,文件,单选钮 。
(2)“字段,,如果要加入的图片要随记录的不同而改变,
如存储学生照片的通用型字段,则选择,字段,单选钮 。 在
,字段,单选钮的文本框内键入通用型字段名,或选择,字段,单选钮后边的对话按钮,在弹出的,选择字段 /变量,对话框中选择一个通用字段 。
第 14章 创建输出报表默认情况下,报表并不包含所有的带区,如标题和总结带区等 。 我们根据实际情况需要对报表的布局进行调整 。
1,设置其他带区
14.4.4 报表布局
( 1) 设置,标题,或,总结,带区从,报表,菜单中选择,标题 /总结,命令,弹出,标题 /总结,对话框 。
选择,标题带区,复选框,在报表中添加一个,标题,
带区 。
第 14章 创建输出报表系统会自动把,标题,带区放在报表的顶部,若希望把标题内容单独打印一页,应选择,新页,复选框 。
,总结,带区设置与此类似 。
( 2) 设置,列标头,和,列注脚,带区当报表中的字段很少,而所需打印的纸张空间余量较多时,
可以设置报表的多列布局 。
从系统的,文件,菜单中选择,页面设置,菜单项,弹出
,页面设置,对话框 。 把,列数,微调器的值调整为大于 1,
报表将添加一个,列标头,带区和一个,列注脚,带区 。
第 14章 创建输出报表
( 3) 设置,组标头,或,组注脚,带区要以组为单位对报表的数据进行处理 。 如以籍贯为组对学生的基本情况进行报表输出 。 注意,只有对表的索引字段设置分组才能够得到预想的分组效果 。
从系统的,报表,菜单中选择,数据分组,菜单项,或者单击,报表设计器,工具栏上的,数据分组,按钮,弹出
,数据分组,对话框 。 单击,分组表达式,右侧的对话按钮,
弹出,表达式生成器,对话框 。 从中选择分组表达式,本例选择,学生表,是否党员,,可以看到在报表设计器中自动添加了一个,组标头,和,组注脚,带区 。
第 14章 创建输出报表
2,调整带区高度在,报表设计器,中调整带区的高度以放置需要的控件 。
不能使带区高度小于布局中控件的高度,可以把控件移进带区内,然后减少其高度 。
调整带区高度的方法有下面 2种:
( 1) 用鼠标选中某一带区标识栏,待鼠标变为箭头后上下拖曳该带区,直至得到满意高度为止 。
( 2) 双击需要调整高度的带区的标识栏,系统将显示
,页标头,对话框 。 在,高度,选项的编辑框里指定想要的尺寸即可 。
第 14章 创建输出报表
1,单级分组报表
( 1) 打开数据分组对话框使用以下方法之一:
① 选择系统的,报表,菜单下的,数据分组,菜单项;
② 点击,报表设计器,工具栏里的,数据分组,按钮;
③ 右击报表设计器,选择,数据分组,快捷菜单项,;
( 2) 在,数据分组,对话框输入分组表达式在,分组表达式,的第一个编辑框内直接输入表达式;或者选择,分组表达式,右侧的对话按钮,在,表达式生成器,
对话框中创建表达式 。
14.4.5 分组报表第 14章 创建输出报表
( 3) 在,数据分组,对话框的,组属性,区域选定属性
①,每组从新的一列上开始,,从新的一列开始打印 。
②,每组从新的一页上开始,,当组的内容改变时,另起一页来打印组的内容 。
③,每组的页号重新从 1开始,,当遇到不同的组时,页号重置为 1。
④,每页都打印组标头,,每一页都打印组标头 。
⑤,小于右值时组从新的一页开始,,打印组标头时,组标头距页底的距离如小于这个距离,就在新的一页上打印 。
第 14章 创建输出报表
2,多级分组报表多级分组基于多重索引,设计多级分组报表的操作方法基本与设计单级分组报表相同,只是在打开,数据分组,对话框时,需要生成多个,分组表达式,。
例 14.4 根据,学生表,dbf”的数据设计一个按,性别,
和,是否党员,二级分组的报表 。 步骤如下:
注意:事先要对,学生表,dbf”建立索引表达式为,性别 +是否党员,的索引,索引名称为,党员 -性别,。 ( 在此假设两字段均为字符型,否则可能会报类型不匹配的错误 )
第 14章 创建输出报表
( 1) 通过报表向导创建一个报表文件:学生表,frx,
并打开它;
( 2) 添加数据分组单击,报表设计器,工具栏的,数据分组,按钮,弹出
,数据分组,对话框,单击第一个,分组表达式,框右侧的对话按钮,在,表达式生成器,对话框中选择,性别,,同样的操作方法在第二个,分组表达式,框中输入,是否党员,,然后按,确定,;
第 14章 创建输出报表
( 3) 修改和添加控件
① 添加标题,学生情况表,,设置其字体和位置 。
② 把,性别,字段标签控件和,性别,字段域控件移动到
,组标头 1,性别,带区的最左面 。 在该控件后边添加一个标签控件,文本信息为一个字:,生,。 并在它们下边划一条短线 。
③ 把,是否党员,字段域控件移动到,组标头 2,是否党员,
带区左面 。 用,圆角矩形,控件把,是否党员,字段域控件圈起来 。
④ 移动页标头带区的其他标签控件和细节带区的其他域控件,使它们上下对齐,并具有相同高度 。
第 14章 创建输出报表
( 4) 设置当前索引单击,报表设计器,工具栏里的,数据环境,按钮,弹出
,数据环境设计器 -报表设计器,对话框,在对话框内右击,
选择快捷菜单项,属性,,弹出,属性 -报表设计器,框,
在该框最上方的下拉列表中选择,Cursor1”项,然后在以下的属性列表中找到,Order”属性,将其值选定为,性别 -党员,;
( 5) 预览报表;
( 6) 保存学生表,frx 。
第 14章 创建输出报表制作报表,一般来说,是为了将它添加到项目管理器中,
一起生成应用系统 。 打开或新建一个项目管理器,在,项目管理器,窗口内选定,文档,选项卡,可以看到项目管理器的列表框内有,报表,图标 。 单击该图标,选择,添加,按钮,从,添加,对话框中选择已经建好的报表,要对报表进行修改,预览等,可以选定所添加的报表后,单击,修改,
或,预览,命令按钮后进行相应处理 。
报表作为一个文档保存在项目文件中,要运行报表,需使用报表命令,如 REPORT FORM 学生表,frx,可以将报表命令加入到按钮事件的代码中,便于应用系统浏览报表 。
14.5 在项目中添加报表