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