1
第 11 章报表与标签设计目录 上一页 下一页 退出 2
本 章 目 录第一节 利用报表向导设计报表第二节 利用快速报表设计报表第三节 利用报表设计器设计报表第四报 报表输出第五节 报表设计技巧与实例第六节 标签设计目录 上一页 下一页 退出 3
一、启动报表向导启动表单向导有以下四种途径:
( 1) 打开,项目管理器,,选择,文档,选项卡,从中选择,报表,。 然后单击,新建,按钮 。 在弹出的
,新建表单,对话框中单击,报表向导,按钮 。
( 2) 在系统菜单中选择 【 文件 】 |【 新建 】 命令,或者单击工具栏上的,新建,按钮,打开,新建,对话框,
在文件类型栏中选择,报表,。 然后单击,向导,按钮 。
( 3) 在系统菜单中选择 【 工具 】 |【 向导 】 |【 报表 】 命令 。
( 4) 直接单击工具栏上的,报表,图标第一节 利用报表向导设计报表目录 上一页 下一页 退出 4
二、利用报表向导创建报表实例
【例 11-1】 利用报表向导设计学生成绩报表,要求输出学生学号、姓名、课程代号、成绩并保存为,REPORT1”。
① 启动报表向导,因为本例报表数据基于两个表( STUD
和 SC),所以在,向导选取,对话框中应选择,一对多报表向导,
② 选择父表字段:
在如图中选择数据表 STUD,
从“可用字段”列表中选择“学号”,
单击左边的左箭头按钮,
或者直接双击“学号”字段,
该字段会自动出现在“选定字段”列表中,同样方法添加姓名、班级字段目录 上一页 下一页 退出 5
③ 选择子表字段:在如图中选择 SC表,并把课程代号和成绩字段加入到,选定字段,列中。单击,下一步,按钮 。
目录 上一页 下一页 退出 6
④ 为父,子表建立关系:在如图中,在 STUD表中选择“学号”,在 SC表中也选择“学号”,这样在
STUD表和 SC表之间便依学号字段建立了关系。单击“下一步”按钮,打开排序对话框目录 上一页 下一页 退出 7
⑤ 排序:在如图排序对话框中选择“学号”,单击
“添加”按钮,这样报表将学号进行排序。单击
“下一步”按钮,出现,选择样式”对话框目录 上一页 下一页 退出 8
⑥ 选择样式:在如图“选择样式,对话框中选择需要的样式,如“账务式”,选择样式时,对话框左上角可预览样式效果。单击“下一步”,打开最后一个对话框 。
目录 上一页 下一页 退出 9
⑦ 在如图所示对话框中,设置报表标题为“学生成绩报表”,单击“预览”可以观察报表效果,如果满意,
单击“完成”按钮,系统会打开另存为对话框,输入报表方件名( report1) 后,单击“确定”保存报表。
由报表向导产生的报表如果不满足要求,可以在报表设计器中作进一步修改。
目录 上一页 下一页 退出 10
第二节 利用快速报表设计报表一,快速报表用,快速报表,功能来建立简单报表。只需在其中选择基本的报表组件,Visual FoxPro就会根据选择的布局,自动建立简单的报表布局。
二、快速报表的操作步骤选择主菜单中的【报表】 |【快速报表】命令,打开
,快速报表对话框,。
目录 上一页 下一页 退出 11
其中:
字段布局:用以选取字段排列方式标题:选择此项,字段名将作为列标题出现将表添加到数据环境中:选择此项,则把报表的数据源加到数据环境中。
字段:单击该按钮,打开字段选择对话框,用户可以选择报表中将出现哪些字段,在缺省情况下,包括除“通用”字段外的全部字段。
目录 上一页 下一页 退出 12
【 例 11-2】 利用快速报表对读者表创建,读者信息表,
报表 。
操作步骤如下:
( 1) 打开,读者,表作为报表的数据源 。
( 2)在,文件,菜单中选择,新建,按钮,打开报表设计 器窗口,如图所示。
目录 上一页 下一页 退出 13
( 3)打开报表设计器后,在主菜单中将出现,报表,菜单,从中选择,快速报表,,弹出,快速报表,对话框。为报表选择所需的字段、字段布局以及标题和别名选项。
( 4)按,确定,按钮,选中的字段就会出现在,报表设计器,的布局中。如图所示。
完成快速报表设计后的报表设计器目录 上一页 下一页 退出 14
( 5)单击,打印预览,按钮,在,预览,窗口可看到快速报表的输出结果,如图所示。
( 6)关闭预览,选择,保存,,在,保存,对话框中输入报表文件名。
目录 上一页 下一页 退出 15
三,修改用快速报表产生的报表操作步骤如下:
( 1) 打开要修改的报表
( 2) 添加报表标题
① 在系统菜单中 选择 【 报表 】 |【 标题 /总结 】 命令,
报表窗口增加两个带区:标题和总结 。
② 选择文本控件,然后在标题带区单击,输入,学生信息,。
③ 选择,标题,区的文本对象 ( 用鼠标单击 ),在系统菜单中 选择 【 格式 】 |【 字体 】 命令,系统会打开一个标准的字体对话框,即可以设置文本的各种属性 。
④ 删除不需要的字段:选择,备注,字段对象,按
Delete键 。
目录 上一页 下一页 退出 16
( 3) 修改列标题 。
① 单击原来的列标题,可选择列标题对象,然后按
Delete键删除之 。
② 选择文本控件,单击页标题区,添加新的标题 。
( 4) 添加表格线
① 选择线条控件,在页标头区的顶部和底部各画一条横线,每列画一条竖线 。
② 选择线条控件,在细节区底部添加一条横线,每列添加一条竖线,注意与页标题区的竖线对直。
目录 上一页 下一页 退出 17
第三节 利用报表设计器设计报表一,启动报表设计器
● 菜单方法,若是新建报表,在系统菜单中选择 【 文件 】
|【 新建 】 命令,在文件类型对话框选择,报表,,单击
,新建,按钮;若是修改报表,则选择 【 文件 】 |【 打开 】
命令,在,打开,对话框中选择要修改的报表文件名,
单击,打开,按钮 。
● 命令方法,在 COMMAND窗口输入如下命令:
CREATE REPORT <文件名 > &&创建新的报表或
MODIFY REPORT <文件名 > &&打开一个已有的报表
● 运用项目管理器,进入项目管理器,选择文档标签,然后选择报表,单击“新建”按钮。若需修改报表,选择要修改的报表,单击“修改”按钮。
目录 上一页 下一页 退出 18
二、报表设计器介绍报表设计器如图所示,默认包括 3个带区:页标头
( Page Header),细节( Detail) 和页脚( Page
Footer),每个带区的底部显示分隔栏目录 上一页 下一页 退出 19
(1) 标题 (Title),标题区的信息在报表的开始处打印一次。
(2)页标题 ( Page Header),页标题的内容在报表的每一页开头打印一次 。
(3)细节 ( Detail),内容区是报表的主体,用于输出数据库的记录,一般在该区放置数据库字段 。 打印报表时,细节区会包括数据库的所有记录 。
(4)页注脚 ( Page Footer)
页脚区的内容在每页的最底部打印,一般包含页码,
每页的总结和说明信息等 。
(5)总结 ( Summary)
总结只在报表的末尾打印一次,一般利用本区打印总计或平均值等信息 。
目录 上一页 下一页 退出 20
( 6) 组标头和组注脚带区用于分组报表,组标头在每个分组开始时打印一次,
组注脚带区的内容在每个分组结束时打印一次。
( 7) 列标头和列注脚带区列标头和列注脚带区主要用于分栏报表,选择【文件】 |【页面设置】命令,将打开“页面设置”对话框,将“列数”设置成 >1的值,“间隔”稍作调整,
单击“确定”,则列标头和列注脚会在报表设计器中出现。
( 8) 调整报表带区高度将鼠标指针指向某带区分隔条,出现上下双箭头时,
按住左键上下拖动分隔条即可改变报表带区高度。
目录 上一页 下一页 退出 21
3.设置报表数据源设计报表时,首先要确定报表的数据源。设置报表的数据源是在数据环境设计器中进行的,操作步骤如下:
(1)在报表设计器空白带区单击鼠标右键,在快捷菜单中选择,数据环境,,弹出数据环境设计器,如图所示。
(2)在数据环境设计器中单击鼠标右键,在弹出的快捷菜单中选择,添加,,出现,添加表或视图,对话框 。
目录 上一页 下一页 退出 22
4.设计报表的布局创建报表之前,应该确定所需报表的常规格式。常用布局的说明以及一般用途说明如下:
布局类型 说明列 每行一条记录,每条记录的字段在页面上按水平方向放置行 一列的记录,每条记录的字段在一侧竖直放置一对多 一条记录或一对多关系多栏 多列的记录,每条记录的字段沿左边缘竖直放置标签 多列记录,每条记录的字段沿左边竖直放置,打印在特殊 纸上目录 上一页 下一页 退出 23
5,报表工具栏打开报表设计器时,将显示,报表设计器,工具栏和
,报表控件,工具栏 。
( 1),报表设计器,工具栏报表设计器如图所示,五个按钮分别为,数据分组,
数据环境,报表控件工具栏,调色板工具栏 和 布局工具栏 。
目录 上一页 下一页 退出 24
( 2),报表控件,工具栏
,控件工具栏,中控件的名称与作用如图所示 。
目录 上一页 下一页 退出 25
6,报表控件的使用在报表设计器,通过在报表中添加控件来定义在页面上显示的数据项,可以安排所要输出的内容。
( 1)添加域控件域控件实际就是指与字段、变量和计算结果链接的文本框。
方法 1,从数据环境中添加控件。
在报表设计器窗口中,打开报表的数据环境,选择表或视图,在数据环境设计器用左键选定的一个字段后,
拖曳到报表设计器的相应带区放开。
方法 2,从工具栏添加域控件。
打开报表的数据环境,单击,报表控件,工具栏中的
,域控件,按钮,在报表设计器的相应带区单击鼠标,
出现,报表表达式,对话框,输入要使用的数据源表字段名。
目录 上一页 下一页 退出 26
( 2)添加通用字段
① 在,报表控件,工具栏中,单击,图片 /ActiveX绑定控件,按钮 。
② 在,报表设计器,中的相应带区单击鼠标,弹出,报表图片,对话框 。
③ 在,报表图片,对话框中,选择,图片来源,区域的
,字段,。
④ 在,字段,框中,键入字段名,或者选择使用对话框来选取字段或变量 。
⑤ 选择,确定,按钮。通用字段的占位符出现在定义的图文框内。
( 3)添加标签控件在报表中,标签一般用来作说明文字。添加方法与表单中添加标签的方法相同。
目录 上一页 下一页 退出 27
( 4) 选择,移动及调整控件的大小可以单独更改每个控件,也可以选择一组控件作为一个单元来处理。具体操作方法与表单中控件的操作相同。
( 5)添加线条、矩形和圆形运用,报表控件,工具栏中控件按钮,可以在报表中绘制线条、绘制矩形、绘制圆角矩形和圆形。
( 6)插入页码和当前日期使用,报表控件,工具栏的域控件,可以在报表中插入页码和当前日期 。
1) 在,报表控件,工具栏中,单击,域控件,控件 。
2) 在,报表设计器,中选择好要出现此域控件的带区单击 。
3)在出现,表达式生成器,对话框中,双击,变量,区域中的,_pageno”,即可插入页码。选择,日期,列表框中 DATE()函数双击,即可插入日期。
目录 上一页 下一页 退出 28
7.报表控件操作与布局
( 1)选择控件:用鼠标单击控件可以选定该控件,被选定的控件四周出现8个控点
( 2)设置控件字体:选择要设置字体的控件,从系统菜单中选择【格式】 |【字体】,将打开标准字体对话框
( 3)调整控件的大小:选定控件,拖动控件四周的某个控点,改变控件的宽度和高度
( 4)控件布局:利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选中控件的相对大小或位置 。
目录 上一页 下一页 退出 29
8.报表变量的使用使用报表变量,可以计算各种值,并可以利用这些值来计算其他相关值。
使用报表变量的方法是在报表设计器的,报表,菜单中选择,变量,,弹出,报表变量,对话框,如图所示。
目录 上一页 下一页 退出 30
对话框选项意义简介如下:
( 1)变量。显示当前报表中的变量名,并为新变量提供输入位置。
( 2)要存储的值。显示存储在当前变量的表达式,也可以说就是变量具体的值。
( 3)初始值。在进行任何计算之前,显示选定变量的值以及此变量的重置值。
( 4)报表输出后释放。在报表打印后从内存中释放变量。
( 5)重置。指定变量重置为初始值的位置。,报表尾,
是其默认值,也可选择,页尾,或,列尾,。
设置完毕后,单击,确定,,这样变量中就多了一个用户自定义的变量,你就可以像插入页码变量 _pageno
一样插入你自己定义的变量。
目录 上一页 下一页 退出 31
9.报表数据分组利用分组可以明显地分隔每组记录,使数据以组的形式显示 。 组的分隔是根据分组表达式进行的,这个表达式通常由一个以上的字段生成 。
分组以后,报表布局就有组标头和组注脚带区,可以向其中添加控件。
添加数据分组的步骤如下:
(1)从,报表,菜单中选择,数据分组,项,出现
,数据分组,对话框,如图所示。
目录 上一页 下一页 退出 32
(2)在“分组表达式”的第一行输入分组表达式。或者在“表达式生成器”对话框中创建表达式。
(3)在,组属性,区域,选定想要的属性。
选择,确定,。添加表达式后,可以在带区内放置任意需要的控件。
目录 上一页 下一页 退出 33
10、添加图片对象
① 添加图片在“报表控件”工具栏中单击“图片 /ActiveX绑定控件”按钮,在报表的一个带区内单击并拖动鼠标拉出图文框,松开鼠标时将弹出“报表图片”对话框,如图所示。
插入文件中的图片:在
“图片来源”区域选中
“文件”,并输入一个图形文件的位置和名称,
或单击文本框右边的
,…,按钮,打开“打开”对话框,选择一个图片文件添加图形(通用型)字段:在“报表图片”对话框的“图片来源”区域选择“字段”,在“字段”框中输入字段名,或单击字段框右侧的,…,按钮来选取字段目录 上一页 下一页 退出 34
② 调整图片当图片与图文框的大小不一致时,需要在
,报表图片,对话框中选择相应的选项来控制图片的显示行为
,裁剪图片,,图片将以图文框的大小显示图片
,缩放图片,保留形状,,图文框中放置一个完整、不变形的图片在这种情况下,可能无法填满整个图文框
,缩放图片,填充图文框,,使图片填满整个图文框,在这种情况下,图片纵横比例可能会改变,从面引起图片的变形目录 上一页 下一页 退出 35
第四报 报表输出一,页面设置页面设置的方法与步骤如下:
1,从,文件,菜单中,选择,页面设置,,出现,页面设置,对话框,如图所示。
2,在“列”区域,把“列数,微调器的值调整为栏目数,例如列数为 2,
则将整个页面平均分成两部分,调整列之间的间隔值,如间隔为 0.4
目录 上一页 下一页 退出 36
3,在,左页边距,框中输入一个边距数值。页面布局将按新的页边距显示。
4,若要选择纸张的大小,单击,打印设置,按钮,则弹出,打印设置,对话框,如图所示。
5.在,打印设置,对话框中,可以设置纸张的大小,
打印的,方向,,设置完毕后单击,确定,按钮回到页面设置。
6.在,页面设置,对话框中,选择,确定,按钮。
完成页面设置。
目录 上一页 下一页 退出 37
二、预览报表通过预览报表,检查报表是否达到了你所预想的设计 。
步骤如下:
1,从,显示,菜单中选择,预览,命令,或在,报表设计器,中单击右键并从弹出的快捷菜单中选择,预览,
命令,也可以单击,常用工具栏,中的,打印预览,
按钮 。
2,在打印预览工具栏中,选择,上一页,或,前一页,
来选择不同的页 。
3,若要更改预览图像的大小,选择,缩放,列表中不同地缩放比例 。
4,若要打印报表,选择,打印报表,按钮 。
5.若想返回到设计状态,单击预览窗口的关闭按钮。
目录 上一页 下一页 退出 38
三、打印输出
1,从,文件,菜单中选择,打印,命令,或在报表设计器中单击鼠标右键并从弹出的快捷菜单中选择
,打印,命令。将弹出,打印,对话框 。
2,在,打印,对话框中,设置打印范围、打印份数等。
通过,属性,设置打印纸张的大小、打印精度等。
3,单击,选项,,将弹出,打印选项,对话框。在打印内容区域内设置好,类型,,,文件,,如果只需打印数据源中的部分记录,则单击,选项,按钮。
4,在弹出的,报表和标签打印选项,对话框中,如图所示。选择,作用范围,中某个选项:
目录 上一页 下一页 退出 39
ALL(全部 ):打印全部记录 。
NEXT(后续 ):打印当前记录往下多少个记录 。 个数在右方的微调控件确定 。
RECORD(记录 ):打印哪一个编号的记录,仅一个记录 。
REST(其余 ):从当前光标所在的记录到文件尾都打印。
FOR…,设定要打印的条件,任何一个满足条件的记录则打印。
WHILE…,当记录符合设定的条件时就会打印,直到遇到不符合条件的记录停止打印。
5,选择,确定,按钮。系统就会把报表在打印机上打印出来。
目录 上一页 下一页 退出 40
四,程序中调用报表预览
REPORT FORM <报表文件名 > <PREVIEW>[ IN SCREEN]/
[WINDOW 表单名 ] [范围 ] [FOR 条件表达式 ]
打印输入报表
REPORT FORM <报表文件名 > <TO PRINTER >[范围 ] [FOR
条件表达式 ]
输出到指定的文件
REPORT FORM <报表文件名 > <TO FILE 文件名 >[范围 ]
[FOR 条件表达式 ]
目录 上一页 下一页 退出 41
第五节 报表设计技巧与实例一、报表设计技巧一般用以下方法来进行设计报表 。
1,利用报表向导,快速报表帮助建立报表的基本对象,
省去我们一一自行加入的麻烦 。
2,借助,报表设计器,的工具修改报表,这样建立的报表即快速又美观 。
3,创建表格式的报表时,只需在向导中选取报表样式时,选择帐务式,选报表布局为横向,就能自动画成表格形式。这样只要对不如意的地方稍加修改即可快速完成报表的设计。
目录 上一页 下一页 退出 42
二、报表设计实例
【 例 11-3】 对借书表创建报表,要求如下:
( 1 ) 报表的内容 ( 细节带区 ) 是借书表中的所有字段信息 。
( 2 ) 增加标题带区,分组表达式是读者编号字段,
组标头带区的名称是,读者编号,,组注脚带区的内容是此人借阅书籍的次数 。
( 3 ) 增加标题带区,标题是:,读者借阅情况一览表,,要求是三号字体 。
( 4 ) 增加总结带区,该带区的内容是所有读者的借阅次数的总和 。
(5)在页注脚区设置当前日期和页号。
目录 上一页 下一页 退出 43
操作步骤如下:
(1) 首先对借书表按读者编号建立索引 。
(2)选择,文件,菜单中的,新建,选项,弹出,新建,
对话框,,文件类型,选择,报表,,然后单击,向导,,在,向导选取,中选择,报表向导,进行设计 。
(3)在,报表向导,操作过程中,,字段选取,中选择,借 书,表中的所有字段,,分组记录,中选择,读者编 号,,,选择报表样式,中选择
,帐务式,,报表标题 中输入,读者借阅情况一览表,,并选择,保存报 表并在报表设计器中修改报表,项,单击完成。
(4)在,另存为,对话框中,输入报表名,借阅清单,,单击保存。此时,报表设计器,如下图所示。
目录 上一页 下一页 退出 44
(5 )将标题区的标题选中,单击布局工具栏中的,水平居中,按钮,单击,格式,菜单中的,字体,选项,将字号设置为,三号,,然后将设计器中几条粗黑线选中,按,Delete”将其删除。将当前日期 Date()选中,
并拖放到页注脚带区右侧。
目录 上一页 下一页 退出 45
( 6)按住 Shift键依次将页标头带区的所有内容选中后,
全部拖放到组标头带区。
(7) 单击“报表”菜单,选择“标题/总结”项,在弹出的 对话框中选择“总结带区”。
(8) 分别在组标头带区、组注脚带区、总结带区添加一个,标签,控件,分别输入内容为,读者编号,,
,借 阅次数,,,借阅总次数,。
(8) 在组注脚带区,借阅次数,标签后,插入一个域控件,弹出的,报表表达式,对话框中,在表达式后的文本 框中输入,借书,书号,,然后单击,计算,
按钮,选择,计数,后,单击确定,在,报表表达式,对话框中,选择确定。
目录 上一页 下一页 退出 46
(10) 同样在总结带区,借阅总次数,标签后,插入一个域 控件,操作与( 9)完全相同。这样,报表设计器,就如图所示。
目录 上一页 下一页 退出 47
第六节 标签设计在实际应用中并不总是要求数据以表格形式输出,例如个人名片,邮件标签,借书卡片等,往往需要以标签卡片的形式输出某些数据。
标签是采用多列报表布局,为匹配特定标签纸而对列作特定设置的报表。
目录 上一页 下一页 退出 48
一、标签向导启动标签向导:进入项目管理器,在“文档”
中选中“标签”,而后单击“新建”按钮该对话框用于为标签指定数据源目录 上一页 下一页 退出 49
二、选择标签类型
“列”是指沿纸张水平方向打印的标签个数大小 =高 *宽目录 上一页 下一页 退出 50
三、定义标签的布局在“文本”输入框中可输入任何文字串,例如输入“学生信息卡”,按“添加”按钮可把文字串添加到“选定的字段”框中,
成为每张标签上都出现的文字 。
在“可用字段”
框中选中的任何字段,也可以添加到“选中的字段”框 。
如果想另起一行,
可以单击中部的
“回车”按钮。
目录 上一页 下一页 退出 51
四、排序如选择排序字段如“学号”。单击
“添加”按钮目录 上一页 下一页 退出 52
五,标签设计器进入某项目管理器,选择,文档,卡的,标签,
项目,单击,新建,按钮,在,新建标签,对话框中单击,新建标签,按钮。
选择标签布局目录 上一页 下一页 退出 53
六、“标签设计器”窗口标签设计器的常规操作与报表设计器完全相同目录 上一页 下一页 退出 54
七,标签输出在设计时预览或打印标签的操作与报表相同在程序或命令窗口中打印标签可用下列命令:
LABEL FORM <标签文件名 >[范围 ][FOR 条件 ][WHILE 条件 ] [TO PRINTER]
在程序或命令窗口中预览标签可用下列命令:
LABEL FORM <标签文件名 >[范围 ][FOR 条件 ][WHILE 条件 ][ PREVIEW]
55