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