目录上一页下一页退出1第8章报表与标签设计第一节:创建报表第二节:设计报表第三节:数据分组和多栏报表目录上一页下一页退出2本章要点1、创建报表,设计报表布局、使用报表向导创建报表、使用报表设计器创建报表、创建快速报表、报表工具栏2、设计报表,设置报表数据源、设置报表布局、在报表中使用控件、3、设计分组报表、设计单级分组报表、设计多栏报表目录上一页下一页退出38.1创建报表VisualFoxPro提供了3种创建报表的方法:(1)使用报表向导创建。(2)使用快速报表创建简单的报表。(3)使用报表设计器创建定制的报表。当然同也可以用等价的命令来创建createreport。目录上一页下一页退出41.设计报表–定义:•设计报表就是根据报表的数据源和应用需要来设计报表的布局。–步骤:•确定要创建的报表类型。•创建报表布局文件。•修改和定制布局文件。•预览和打印报表。目录上一页下一页退出58.1.1创建报表文件2.报表布局根据表报表的数据源和应用需要来设计报表的布局,常见的报表的类型有:•列报表•行报表•一对多报表•多栏报表目录上一页下一页退出63.使用报表向导创建报表–步骤:•打开报表向导•字段选取•分组记录•选择报表样式•定义报表布局•排序记录•完成•单击“显示”菜单下的“预览”按钮,查看报表的生成情况•单击报表向导上的“完成”按钮,出现“另存为”对话框,用户指定报表文件的保存位置和名称,并以报表文件扩展名.frx保存目录上一页下一页退出7例8.1,对自由表员工.dbf创建报表,报表名为yg.frx。–步骤如下:•(1)打开员工.dbf表,把员工.dbf表作为报表的数据源。•(2)选择“工具”菜单栏下的“向导”子菜单,“向导选取”对话框。•(3)报表向导有以下6个步骤:–选取报表中出现的字段、确定数据分组方式、选择报表样式、定义报表布局、排序记录、完成报表向导。目录上一页下一页退出8目录上一页下一页退出94.使用报表设计器创建报表–步骤:•打开报表设计器。•在“报表设计器”窗口,打开“显示菜单”,选择“数据环境”选项,弹出“数据环境设计器”窗口。•在“数据环境设计器”窗口,右击“数据环境设计器”选项,选择“添加”,添加可以作为报表数据源的表。•单击“文件”菜单下的“保存”按钮,弹出“另存为”对话框。在该对话框中输入要保存的报表名称,单击“保存”按钮即可。目录上一页下一页退出105.使用命令创建报表–格式:•CREATEREPORT[〈报表文件名〉]6.创建快速报表–步骤:•打开报表设计器,选择“报表”菜单的“快速报表”命令,弹出“打开”对话框。•选择数据源,调出“快速报表”对话框。•选定行布局、全部字段,单击“确定”按钮。•在“文件”菜单中选择保存命令,单击“保存”按钮。目录上一页下一页退出11例8.2,对自由表员工.dbf创建一个快速报表,报表名为ygksbb.frx。–步骤如下:•(1)单击工具栏上的“新建”按钮新建一个空白报表。•(2)选择“报表”菜单栏下的“快速报表”选项,并打开“数据环境设计器”窗口。•(3)用鼠标右击单击“数据环境设计器”添加所需要的表。•(4)选择数据源后,系统弹出“快速报表”对话框,在该对话框中选中“标题”和“将表添加到数据环境中”。本例没选“添加别名”,因为数据源是单独的一个表,别名没有意义。目录上一页下一页退出12–(5)单击“字段”按钮,添加所要的字段。–(6)在“快速报表”对话框中,单击“确定”按钮,快速报表便出现在“报表设计器”窗口中。–(7)单击工具栏上的“打印预览”,或者选择“显示”菜单下的“预览”,打开快速报表的预览窗口。–(8)单击工具栏上的“保存”按钮,将报表保存为ygksbb.frx。预览报表如下图所示。目录上一页下一页退出138.1.2报表工具栏1.“报表设计器”工具栏–包含的按钮以及功能:•“数据分组”按钮•“数据环境”按钮•“报表控件工具栏”按钮•“调色板工具栏”按钮•“布局工具栏”按钮•显示或隐藏“布局”工具栏。目录上一页下一页退出142.“报表控件”工具栏–包含的按钮以及功能:“选定对象”按钮:移动或更改控件的大小。“标签”按钮:在报表上创建一个标签控件,用来保存不希望用户改动的文本。目录上一页下一页退出15“域控件”按钮在报表上创建一个字段控件,用来显示表字段、内存变量或其他表达式的内容。“线条”按钮、“矩形”按钮、“圆角矩形”按钮分别用来在表单上绘制线条图形、矩形图形和圆角矩形。“图片/ActiveX绑定控件”按钮在表单上用来显示图片或通用型字段的内容。按钮锁定”按钮允许添加多个相同类型的控件而不需要多次按该控件按钮。目录上一页下一页退出1610.2.1报表的数据源和布局1.设置报表数据源–步骤:•打开一个已经创建的报表或用报表设计器创建一个新的报表。•在菜单上选择“显示”下的“数据环境”命令。•在“数据环境设计器”窗口中,单击鼠标右键,在弹出的快捷菜单中选择“添加表和视图”命令。•在“添加表和视图”对话框中选择需要添加的表或视图,单击“添加”按钮。目录上一页下一页退出172.设置报表布局–报表的常用带区及其作用:•标题–每张报表开头打印一次或单独一页。•页标头–每个页面打印一次。•细节–每条记录打印一次。•页注脚–每个页面下面打印一次。•总结–每张报表最后一页打印一次或单独占用一页。目录上一页下一页退出18•组标头–数据分组时每组打印一次。•组注脚–数据分组时每组打印一次。•列标头–在分栏报表中每列打印一次。•列注脚–在分栏报表中每列打印一次。3.调整带区高度–方法1:•用鼠标选中某一带区标识栏,然后上下拖动该带区。目录上一页下一页退出19–方法2:•双击要调整高度的带区的标识栏,系统将显示一个对话框,在该对话框中,直接输入所需高度的数值,或者调整“高度”微调器中的数值。•选中微调器下面的“带区高度保持不变”复选框可以防止报表带区因容纳过长的数据或从中移去数据而改变报表带区的高度。目录上一页下一页退出208.2.2在报表中使用控件1.标签控件–插入标签控件•单击“报表控件”工具栏中的“标签”按钮,在需要插入标签的位置单击、输入标签内容,在其他区域单击结束该控件的标签输入。–更改字体•选定要更改字体的控件,然后选择“格式”菜单中的“字体”,显示“字体”对话框。选定适当的字体单击“确定”按钮。目录上一页下一页退出212.线条、矩形和圆角矩形–添加控件•单击“报表控件”工具栏上的“线条”、“矩形”或“圆角矩形”按钮,在报表中通过鼠标的拖放操作调整大小合适的相应控件。–更改样式•首先选定希望更改的图形,然后选择“格式”菜单下的“绘图笔”,再从“绘图笔”的子菜单中选择适当的大小或样式。目录上一页下一页退出22–调整控件•选定控件,拖动控件四周的任意一个控点可以改变控件的宽度和高度。–选择多个控件•一是选定一个控件后,按住Shift键的同时再选定其他控件。•二是圈选,也就是在控件周围拖动以画出选择框,该方法便于选定相邻的控件。–设置控件布局•单击报表设计器工具栏上的“布局”工具栏按钮,或选择“显示”菜单中的“布局工具栏”命令打开或关闭“布局”工具栏。目录上一页下一页退出233.添加域控件–方法:•从“数据环境设计器”中添加域控件–当要添加的同控件的数据源为表或视图时,直接将相应字段从数据环境中拖到报表中。•使用“报表控件”工具栏中的“域控件”–在“报表控件”工具栏上单击“字段”控件按钮,在需要插入控件的位置通过鼠标拖动来指定控件的位置和大小。–如果“表达式生成器”对话框中的“字段”框为空,说明没有设置数据源,应该向数据环境中添加表或视图。在“报表表达式”对话框中设置该控件。目录上一页下一页退出244.定义域控件的格式–方法:•单击“格式”文本框后面的按钮,系统弹出“格式”对话框。•在“格式”对话框中,选择域控件的类型。•选定不同的类型,“编辑选项”区域的内容也会有所不同。–对域控件进行格式化可以选择“编辑选项”区域中的一些选项,如下表所示。目录上一页下一页退出25类型编辑选项含义字符型全部大写将所有的字符转化为大写忽略输入掩码显示但不存储不符合格式的字符SETDATE格式使用SETDATE当前格式显示日期数据英国日期格式使用欧洲(英国)日期格式显示日期数据左对齐从选定控件位置的最左端开始显示字符右对齐从选定控件位置的最右端开始显示字符居中对齐将字符放在中央数值型左对齐从选定控件位置的最左端开始显示数值如果为零保持为空如果控件输出为零则不打印负数加括号将负数放入括号内SETDATE格式使用SETDATE当前格式显示日期数据英国日期格式使用欧洲(英国)日期格式显示日期数据如果为正,加CR在正数后显示CR(贷方)如果为负,加DB在负数后显示DB(借方)前导零打印全部的前导零货币型按“选项”对话框的“区域”选项卡中指定格式显示货币格式科学计数法以科学计数法显示数据(当数值很大或很小时使用)日期型SETSATE格式使用SETDATE当前格式显示日期数据英国日期格式使用欧洲(英国)日期格式显示日期数据目录上一页下一页退出265.设置打印条件–“打印条件”对话框可以设置表达式,根据表达式的值对一个对象进行条件打印,并且控制如何打印各信息带中的对象。–打印条件中的复选框•打印重复值该选项用于字段对象。“是”表示打印重复值,“否”表示不打印重复值。•有条件打印包括三个复选框,如果在“打印重复值”区域中选择“否”,则第一个复选框“在新页/列的第一个完整信息带内打印”可用;如果在“打印重复值”区域中选择“是”,则该项自动选定。目录上一页下一页退出27•如果不打印重复值,并且报表已进行数据分组,第二个复选框“当此组改变时打印”可用。当选定的组改变时,打印此字段。•当细节带区的数据溢出到新页或新列时,应选择“当细节区数据溢出到新页/列时打印”复选框。•如果没有对象在打印,同时也没有其他对象位于同一水平位置上,请选择“若是空白行则删除”复选框。•可以输入表达式,或显示“表达式生成器”对话框,定义在打印字段之前要计算的表达式,请选择“仅当下列表达式为真时打印”。如果输入了表达式,除“若是空白行则删除”外,其他选项都不可用。目录上一页下一页退出286.OLE对象–添加图片•单击“报表控件”工具栏中的“图片/ActiveX绑定控件”按钮,在报表的一个带区内单击并拖动鼠标拉出图文框,弹出“报表图片”对话框。–调整图片•添加到报表中的图片尺寸可能不适合报表设定的图文框。当图片与图文框的大小不一致时,就需要调整图片。主要有:裁剪图片、缩放图片,保留形状、缩放图片,填充图文框、图片居中。目录上一页下一页退出29–对象位置•如果选择“浮动”,表示图片相对于周围控件的大小浮动。•如果选择“相对于带区顶端固定”,则可使图片保持在报表中指定的位置上,并保持其相对于带区顶端的距离。•如果选择“相对于带区底端固定”,则可以使图片保持在报表中指定的位置上,并保持其相对于带区底端的距离。目录上一页下一页退出30例8.3:在报表设计器中修改yg.frx文件。–操作步骤如下:•单击工具栏上的“打开”,在“打开”窗口中的“文件类型”下选择报表,然后双击yg.frx,在报表设计器中打开。该报表是前面已经创建好的快速报表,包括“页标头”、“细节”和“页注脚”三个基本带区。•选择“报表”菜单中的“标题/总结”,在弹出的“标题/总结”对话框中选择“标题带区”和“总结带区”复选框,再按“确定”按钮。“标题”带区便出现在报表的顶部,“总结”带区出现在报表的尾部。•用鼠标选中“标题”带区标识栏(标识栏变黑),向下拖动扩展“标题”带区的空间。按同样的方法调整其他带区的空间,改变快速报表数据过密的格局。目录上一页下一页退出31•单击“报表控件”工具栏上的“标签”按钮,在报表的“标题”带区上单击鼠标,此时出现一个闪动的文本插入点,输入“员工管理表”作为标题。•单击“报表控件”工具栏上的“选定对象”按钮,选定标题“标签”控件。在主菜单栏上单击“格式”菜单,选择“字体”。从字体对话框中选择一号粗体华文行楷。•单击报表设计器工具栏上的“