Visual FoxPro
1
i s u a l
F
V
o x P r o
Visual FoxPro
2
13.1 报表设计
13.2 标签设计
Visual FoxPro
3
13.1.1 利用报表向导设计报表
启动报表向导有以下 4种常用方法:
方法 1,打开“项目管理器”,选择“文档”选项卡中
的“报表”项,单击“新建”按钮,在弹出“新建报
表”对话框中,再单击“报表向导”按钮。
方法 2,打开“文件”菜单中的“新建”菜单项,在文
件类型栏中选择“报表”,然后单击“向导”按钮。
方法 3,打开“工具”菜单中的“向导”子菜单,选择
“报表”,如图 13.2所示。
方法 4,直接单击工具栏上的“报表”图标,也可以启
动报表向导。
无论用上述哪种方法启动报表向导,都会弹出,向导选
取” 对话框。如果数据源是一个表,应选择“报表向
导”,如果数据源包括父表和子表,则应选择“一对
多报表向导”。
13.1 报表设计
Visual FoxPro
4
图 13.1从项目管理
器启动报表向导
图 13.2,向
导”选取对话

Visual FoxPro
5
13.1.2 利用快速报表设计报表
除了用报表向导创建报表外,我们还可以用“快速
报表”来建立简单的报表,这是一项省时的功能,
只需在其中选择基本的报表组件,Visual FoxPro
就会根据选择的布局,自动建立简单的报表布局。
Visual FoxPro
6
下面以实例说明创建快速报表的操作步骤。
例 对自由表“教师,dbf”创建, 教师信息表, 报表。
(1) 打开自由表教师,dbf作为报表的数据源。
(2)在“文件”菜单中选择“新建”或单击工具栏上
的“新建”按钮,在“新建”窗口中选择“报表”
并单击“新建”按钮,就打开了“报表设计器”窗
口。其中的几个的白色区域称为“带区”,在报表
设计器一节中将详细介绍。现在所有的带区都是空
白的,此表是一个空白报表。
Visual FoxPro
7
报表设计器窗口
Visual FoxPro
8
(3) 在主菜单栏出现的“报表”菜单中选择“快速
报表”,会弹出“快速报表”对话框。
在这个对话框中可以为报表选择所需的字段、字段
布局以及标题和别名选项,其选项的意义如下:
字段布局, 选择左侧为列布局可使字段在页面上从左
到右排列;选择右侧为行布局可使字段在页面上从
上到下排列。本例选择列布局。
标题, 确定是否在报表中为每一个字段添加一个字段
名标题。
Visual FoxPro
9
添加别名, 确定是否在报表中的字段前面添加表的
别名。如果数据源是多个表则选择此项,否则别名
无实际意义。
将表添加到数据环境中, 确定是否自动将表添加到
数据环境中作为报表的数据源。
字段, 单击“字段”按钮,显示“字段选择器”对
话框。在此可为报表选择要输出的字段或全部字段
(通用型字段除外)。
Visual FoxPro
10
“快速报表”对话框
“字段选择器”
对话框
Visual FoxPro
11
( 4)单击“字段选择器”的“确定”按钮,返回
“快速报表”对话框,再按“确定”按钮,我们选
中的选项就出现在“报表设计器”的布局中。
( 5)单击工具栏上的“打印预览”图标,在“预览”
窗口中可以看到快速报表的输出结果。如果对报表
满意,可选择打印输出。
( 6)进行“保存”操作,在保存窗口中键入报表名:
教师信息表。报表保存在以,frx为扩展名的文件中。
Visual FoxPro
12
报表设计器布局
快速报表预览
Visual FoxPro
13
13.1.3 利用报表设计器设计报表
启动报表设计器有以下三种常用方法:
方法一:打开“项目管理器”,选择“文档”选项
卡中的“报表”项,单击“新建”按钮,在弹出
“新建报表”对话框中,再单击“新建报表”按钮,
如前面图 13.1所示。
方法二:打开“文件”菜单中的“新建”子菜单,
在文件类型栏中选择“报表”,然后单击“新建文
件”按钮,如前面图 13.2所示。
方法三:直接使用命令 CREATE REPORT 也可启
动报表设计器 。
Visual FoxPro
14
无论用上述哪种方法启动报表设计器,都会出先“报表设计器”
窗口。“报表设计器”提供的是一个空白布局,从空白报表
布局开始,可以设置报表数据源、设计报表的布局、添加报
表的控件和设计数据分组等。
1,设置报表数据源
报表总是与一定的数据源相联系,因此在设计报表时,确定报
表的数据源是首先要完成的任务。如果一个报表总是使用相
同的数据源,就可以把它添加到报表的数据环境中。在设计
数据环境以后,每次打开或运行报表时,系统会自动打开数
据环境中已定义的表或视图,并从中收集报表所需的数据。
当数据源中的数据更新之后,使用同一报表文件打印的报表
将反映新的数据内容,但报表的格式不变。当关闭和释放报
表时,系统也将关闭已打开的表或视图。因此,设置数据环
境能够方便我们添加控件。
设置报表的数据源是在数据环境设计器中进行。
Visual FoxPro
15
数据环境
设计器
“添加表或视
图”对话框
Visual FoxPro
16
2,设计报表的布局
创建报表之前,应该确定所需报表的常规格式。报
表可能同基于单表的电话号码列表一样简单,也可
能复杂得象基于多表的发票那样。另外还可以创建
特殊种类的报表。例如,邮件标签便是一种特殊的
报表,其布局必须满足专用纸张的要求 。
常规报表布局
Visual FoxPro
17
3,报表设计器窗口
在报表设计器中就可以添加各种控件,如表头、表尾、
页标题、字段、各种线条、及 OLE控件等。
(1)报表带区
报表中的每个白色区域,称之为“带区”,它可以包
含文本、来自表字段中的数据、计算值、用户自定义
函数以及图片、线条和框等。报表上可以有各种不同
类型的带区。
在“报表设计器”的带区中,可以插入各种控件,它们
包含打印的报表中所需的标签、字段、变量和表达式。
Visual FoxPro
18
每一带区底部的灰色条称为分隔符栏。带区名
称显示于靠近蓝箭头的栏,蓝箭头指示该带区位
于栏之上,而不是之下。
默认情况下,“报表设计器”显示三个带区:页
标头、细节和页注脚。
页标头带区, 包含的信息在每份报表中只出现一次。
一般来讲,出现在报表标头中的项包括报表标题、
栏标题和当前日期。
细节带区, 一般包含来自表中的一行或多行记录。
页注脚带区, 包含出现在页面底部的一些信息(如页
码、节等等)。
报表也可能有多个分组带区或者多个列标头和
注脚带区。
Visual FoxPro
19
在“报表设计器”中,可以修改每个带区的大小和特
征。方法是:用鼠标左键按住分相应的隔符栏,以
左侧标尺作为指导,将带区栏拖动到适当高度,标
尺量度仅指带区高度,不表示页边距。注意:不能
使带区高度小于布局中控件的高度。可以把控件移
进带区内,然后减少带区高度。如果希望精确设置
带区高度,可双击带区名称,弹出“带区”对话框,
然后在该对话框中改变“高度”文本框中的数值就
可精确调整相应带区的高度。
Visual FoxPro
20
(2) 标尺
“报表设计器”中最上面部分设有标尺,可以在
带区中精确地定位对象的垂直和水平位置。把标尺
和“显示”菜单的“显示位置”命令一起使用可以
帮助定位对象。
标尺刻度由系统的测量设置决定。可以将系统默
认刻度(英寸或厘米)改变为 Visual FoxPro 中的像
素。若要更改标尺刻度为像素可用如下方法,从
“格式”菜单中选择“设置网格刻度”。显示如下
的“设置网格刻度”对话框。系统默认值 根据系统
的语言设置,指定英尺或厘米为标尺上显示的度量
单位。
Visual FoxPro
21
像素 指定像素作为标尺的度量单位。 在“设置网
格刻度”对话框中选定“像素”并选择“确
定”。
如果标尺的刻度设置为像素,并且状态栏中的位
置指示器(如果在“显示”菜单上选中了“显
示位置”)也以像素为单位显示。
Visual FoxPro
22
4,报表工具栏
当“报表设计器”打开时,显示“报表设计器”工具
栏。
5,报表控件的使用
在“报表设计器”中,为报表新设置的带区是空白
的,通过在报表中添加控件来定义在页面上显示的
数据项,可以安排所要打印的内容。
(1)添加域控件
域控件实际上就是指与字段、变量和计算结果链接的
文本框。添加域控件的方法有以下两种:
方法一:从数据环境中添加域控件。
方法二:从工具栏添加域控件。
Visual FoxPro
23
(2)添加通用字段
在创建报表时,还可以在报表中添加图片 /ActiveX
绑定控件。例如,在报表的标题带区添加图片显示
公司的标志,在细节带区添加 ActiveX绑定控件显
示雇员或客户的照片。在添加图片时,图片不随记
录变化;在添加 ActiveX绑定控件时,显示的
ActiveX内容将随记录的不同而不同。在 VFP6.0中,
可以使用“报表控件”工具栏添加图片插入包含
OLE 对象的通用型字段。在随后弹出的“报表图片”
对话框中,选择“图片来源”区域的“字段”。 如
图 13.24所示。
Visual FoxPro
24
图 13.24 添加通用字段报表样式
Visual FoxPro
25
(3)添加标签控件
在报表中,标签一般用作说明性文字。例如在报表
的页标头带区内对应字段变量的正上方加入一标签
来说明该字段表示的意义,或者对于整个报表的标
题也可用标签来设置。
添加标签控件:选择“报表控件”的“标签”按钮,
此时鼠标形状变成一条竖直线,移动鼠标至插入文
本的位置,单击右键,即可进行文本输入。
编辑标签控件:选择要编辑的控件,从“格式”菜单
中选定“字体”,出现“字体”对话框,选定适当
的字体、样式、大小、颜色,然后选择“确定”按
钮。
Visual FoxPro
26
标签控件的添加与编辑
Visual FoxPro
27
(4)选择、移动及调整控件的大小
如果创建的报表布局上已经存在控件,则可以更改
它们在报表上的位置和尺寸。可以单独更改每个控
件,也可以选择一组控件作为一个单元来处理。
选择,将鼠标指向任一控件,单击左键可选择一个控
件。按住鼠标左键在控件周围拖动以画出选择框,
可选择多个控件。这时选择控点将显示在每个控件
周围。当它们被选中后,可以作为一组内容来移动、
复制或删除。
Visual FoxPro
28
移动,选择控件,这时在控件四周会出现多个控点,
按住这个控件并把它拖动到“报表”带区中新的位
置上。控件在布局内移动位置的增量并不是连续的。
增量取决于网格的设置。我们可以将网格设置为小
一些(如都设为 1),若要忽略网格的作用,拖动
控件时应按住 CTRL 键。
调整控件的大小,选择控件,这时在该控件四周出现
控点,然后拖动选定的控点直到所需的大小。
调整控件的位置,选择控件,可以使用布局工具栏的
按钮,进行控件的对齐、居中来调整控件的位置。
Visual FoxPro
29
(5)复制、删除报表控件
复制:选择要复制的控件,从快捷菜单或“编
辑”菜单中,选择“复制”,然后,选择“粘
贴”,控件的副本将出现在原始控件下面,再
将副本拖动到布局上的正确位置。
删除:选择要删除的控件,从“编辑”菜单中,
选择“剪切”或按 DELETE 键。
Visual FoxPro
30
(6)添加线条、矩形和圆形
如果一个报表中只有数据和文本,不仅使报表显得
呆板,而且还不便于查看,直线、矩形和圆形等几
何图形能够增强报表布局的视觉效果,而且可用它
们分割或强调报表中的部分内容。因此,在设计报
表时,为了使报表清晰、美观,经常要用到各种几
何图形控件。
(7)插入页码和当前日期
Visual FoxPro
31
6,报表变量的使用
在数据库应用系统中,变量的应用非常广泛,它能够
给应用程序带来极大灵活性。 Visual FoxPro 使用变
量来保存打印报表时所计算的结果。在报表中可以
使用变量,以灵活设计各种形式的报表。特别是总
计中,往往是用变量来计算要求得到的值然后输出。
使用报表变量,可以计算各种值,并可利用这些值
来计算其他相关值。
使用报表变量的方法是在报表设计器的“报表”菜单
中选择“变量”,弹出“报表变量”对话框。在这
个对话框中允许创建报表中的变量,可以添加新的
变量,改变或删除已有变量,或者更改变量的计算
顺序。
Visual FoxPro
32
“报表变量”
对话框
Visual FoxPro
33
13.1.4 报表数据分组
1,添加单个数据分组
一个单组报表可以基于输入表达式进行一级数
据分组。例如,对教师表按字段排序后,可以把组
设在“职称”字段上来打印所有记录,相同职称的
记录在一起打印。
2,添加多个数据分组
有时,我们需要对报表进行多个数据分组,如在
打印教师花名册时在用“所在部门”分组的基础上,
还想按职称分组,这也称为嵌套分组。嵌套分组有
助于组织不同层次的数据和总计表达式。在报表内
最多可以定义 20 级的数据分组。
Visual FoxPro
34
13.1.5 报表输出
1,页面设置
规划报表时,通常会考虑页面的外观。例如页边距,
纸张类型和所需的布局。在“页面设置”对话框
中可以设置报表的左边距并为多列报表设置列宽
和列间距,设置纸张大小和方向。
2,预览报表
通过预览报表,不用打印就能看到它的页面外观。
例如,可以检查数据列的对齐和间隔,或者查看
报表是否返回所需的数据。有两个选择:显示整
个页面或者缩小到一部分页面。“预览”窗口有
它自己的工具栏,使用其中的按钮可以逐页地进
行预览。
Visual FoxPro
35
3,打印输出
使用“报表设计器”创建的报表布局文件只是
一个外壳,它把要打印的数据组织成令人满意的
格式。如果使用预览报表,在屏幕上获得最终符
合设计要求的页面后,就要打印输出报表。
Visual FoxPro
36
“页面设置”对话

Visual FoxPro
37
标签 是一种特殊的报表,它的创建、修改方法与报
表基本相同。和创建报表一样,可以使用标签向导
创建标签,也可以直接使用“标签设计器”创建标
签。无论使用哪种方法来创建标签,都必须指明使
用的标签类型,它确定了“标签设计器”中的“细
节”尺寸。“标签设计器”是“报表设计器”的一
部分,它们使用相同的工具菜单和工具栏,甚至有
的界面名称都一样。主要的不同是“标签设计器”
基于所选标签的大小自动定义页面和列。
13.2 标签设计
Visual FoxPro
38
若要快速创建一个简单的标签布局,可以和报表设
计器中那样在“报表”菜单中选择“快速报表”命
令。“快速报表”提示输入创建标签所需的字段和
布局。
在“文件”菜单中选择“新建”,在“新建”对话
框中选定“标签”并单击“新建文件”按钮。显示
“新建标签”对话框。标准标签纸张选项出现在
“新建标签”对话框中。
“新建标签”
对话框
Visual FoxPro
39
列表框中提供了几十种型号的标签,每种型号
的后面列出了其高度、宽度和列数。标签向导提供
了多种标签尺寸,分为英制和公制两种。
在单选按钮中我们选择大小为 33.87mm x
99.06mm,列数为 2的,Avery L7162”型号标签。
从“新建标签”对话框中,选择标签布局,然
后选定“确定”按钮,出现“标签设计器”窗口。
“标签设计器”将出现刚选择的标签布局所定
义的页面,默认情况下,“标签设计器”显示五个
报表带区:页标头、列标头、细节、列注脚和页注
脚,还可在标签上添加组标头、组注、脚标题、总
结带区。
接着我们就可以象处理报表一样在标签设计器
中给标签指定数据源并插入控件。
Visual FoxPro
40
标签设计器窗口