第 13章 报表与标签学习要点
1,创建报表
2,创建标签
3,报表和标签的打印第 13章 报表与标签
13.1 报表
13.2 标签
13.3 打印报表或标签习题及参考答案第 13章 报表与标签在数据库应用系统中,常常需要将数据处理结果以各种报表形式打印出来 。 Visual FoxPro 6.0为处理报表提供了专用的报表向导和报表设计器,它兼有设计,显示和打印报表的功能;另外 Visual FoxPro
6.0也提供了一些报表处理命令 。 用户可以通过选择数据源来控制报表中所要包含的数据,还可以创建报表变量配合原始数据的使用 。 报表变量可以用来保存报表中的某些计算结果 。
标签是为了满足专用纸张要求而设计的一种多列的报表布局,是一种特殊类型的报表 。
13.1 报表报表为用户在打印文档中显示并总结数据提供了灵活的途径 。 报表包含两个基本部分,
即数据源和布局 。 数据源通常是数据库中的表,
但也可以是视图,查询或临时表;报表布局则定义了报表的打印格式 。 在 Visual FoxPro
6.0中,用户可以使用,报表向导,和,报表设计器,来设计报表 。
13.1.1 使用向导创建报表在创建报表之前,首先应确定报表的类型,通常包括以下几种:
● 列报表:每行一条记录,每条记录的字段在页面上按水平方向放置,如分组 /总结报表,财务报表 。
● 行报表:一列一条记录,每条记录的字段在一侧竖直放置,如列表 。
● 一对多报表:一条记录对应多行或多列,如发票和账目 。
● 多栏报表:多栏式记录,每条记录的字段沿左边缘竖直放置,如电话号码簿 。
● 标签:多列记录,每条记录的字段沿左边缘竖直放置,
打印在打印纸上,如邮件标签 。
13.1.1 使用向导创建报表
[例 13-1] 使用报表向导创建一对多报表,要求按部门显示教师的清单 。
⑴ 打开,项目管理器,对话框,在,文档,选项卡中选择,报表,选项,然后单击,新建,按钮,打开,新建报表,对话框 。
⑵ 单击,报表向导,按钮,打开,向导选取,对话框,在,选择要使用的向导,列表框中选择报表类型为,一对多报表向导,,如图 13-1所示 。
图 13-1 选择报表类型
13.1.1 使用向导创建报表
⑶ 单击,确定,按钮,打开,一对多报表向导,的,从选择父表字段,
对话框 。
图 13-2 选择父表 添加字段
13.1.1 使用向导创建报表
⑷ 单击,下一步,按钮,打开,从选择子表字段,对话框,选择子表
teacher,并添加字段,如图 13-3所示 。
图 13-3 选择子表并添加字段
13.1.1 使用向导创建报表
⑸ 单击,下一步,按钮,打开,为表建立关系,对话框,选择父表与子表的关联字段,如图 13-4所示 。
图 13-4 选择表的关联字段
13.1.1 使用向导创建报表
⑹ 单击,下一步,按钮,打开,排序记录,对话框,选择排序字段 。
图 13-5 选择排序字段
13.1.1 使用向导创建报表
⑺ 单击,下一步,按钮,打开,选择报表样式,对话框,在,样式,
列表框中选择报表样式,在,方向,选项组中选择报表方向,如,纵向,,
如图 13-6所示 。
图 13-6 选择报表样式
13.1.1 使用向导创建报表在图 13-6所示的对话框中,单击,总结选项,按钮,将打开总结选项对话框,在此可以设置总结选项,如图 13-7所示 。
图 13-7 设置总结选项
13.1.1 使用向导创建报表
⑻ 单击,下一步,按钮,打开,完成,对话框,输入报表标题并选择保存方式 。
图 13-8 设置报表标题和保存方式
13.1.1 使用向导创建报表
⑼ 单击,完成,按钮,打开,另存为,对话框,输入报表文件名
bmdm_teacher后,单击保存按钮,保存报表 。
图 13-9 在报表设计器中显示报表
13.1.1 使用向导创建报表
⑽ 选择,显示,|“预览,菜单选项,预览报表,如图 13-10所示 。
图 13-10 预览报表
13.1.2 使用报表设计器创建报表创建报表时,一般是先选用,报表向导,或,快速报表,创建初步的报表 。
若对其设计的报表格式不满意,则再用,报表设计器,进行修改,也可以直接用,报表设计器,创建新的报表 。
图 13-11 使用报表设计器设计报表
13.1.2 使用报表设计器创建报表
⒈ 快速报表在,报表设计器,窗口中,为了提高效率可以使用 Visual
FoxPro 6.0的,快速报表,菜单方式来建立一个简单的报表布局 。
[例 13-2] 使用,快速报表,菜单方式创建
teacher表的报表
⑴ 打开,报表设计器,
窗口 。
图 13-12
选择数据库表
13.1.2 使用报表设计器创建报表
⑵ 单击,确定,按钮,打开,快速报表,对话框 。
图 13-13 打开,快速报表,对话框
13.1.2 使用报表设计器创建报表
⑶ 如果要为报表选择不同的字段,可单击,字段,按钮,
打开,字段选择器,对话框 。
图 13-14 选择字段
13.1.2 使用报表设计器创建报表
⑷ 在,快速报表,对话框中单击,确定,按钮,此时,
Visual FoxPro 6.0将根据用户的选择自动创建快速报表 。
图 13-15 创建快速报表
13.1.2 使用报表设计器创建报表
⑸ 选择,显示,|“预览,菜单选项预览报表 。 可以看出报表是行报表,如图 13-16所示 。
图 13-16 预览报表
13.1.2 使用报表设计器创建报表
⒉ 定义报表布局当打开,报表设计器,窗口后,用户可以定义报表的布局 。 定义报表布局包括设置报表页面 ( 页边距和列宽 ),规划数据显示的位置,以及调整报表带区的大小等 。
⑴ 设置报表页面定义报表页面实际上是确定报表设计器窗口中空白报表的大小 。 用户应根据需要添加控件的多少来进行设置 。 选择,文件,|“页面设置,,在打开的,页面设置,对话框中可以设置报表页面,其中包括设置页面的左边距,定义列的宽度,如图 13-17所示 。
13.1.2 使用报表设计器创建报表图 13-17,页面设置”对话框
13.1.2 使用报表设计器创建报表在,页面设置,对话框中,可以进行如下设置:
●,列,选项组:设置报表的列数,列宽和列间隔 。
●,打印区域,选项组:设置打印区域,包括可打印页和整页 。
●,左页边距,文本框:直接输入左边距宽度,
或通过调节右边的微调按钮来改变边距数值 。
●,打印顺序,选项组:通过单击相应的按钮来设置打印方向 。
13.1.2 使用报表设计器创建报表
⑵ 报表的带区在设计报表时,,报表设计器,使用不同的带区来帮助用户设计报表的布局 。 用户还可以使用下列方法添加带区:
● 标题:用于放置标题,日期,页码或公司标志以及围绕标题内容的矩形框等 。
● 页标头:放置日期,页号和列标题,每页打印一次 。 在启动报表设计器时,自动添加页标头 。
● 列标头:每列打印一次 。 可选择,文件,|“页面设置,
菜单选项,在,页面设置,对话框中将 Number设置为大于 2。
● 组标头:放置分组字段和分隔线,可选择,报表,|“数据分组,菜单选项添加组标头 。
13.1.2 使用报表设计器创建报表
● 细节带区:放置数据和描述性文本,每条记录打印一次 。 在启动报表设计器时,自动添加细节带区 。
● 组注脚:放置分组总结,每个分组打印一次 。
选择,报表,|“数据分组,菜单选项,可以添加组注脚 。
● 列注脚:在添加列标头时,可以自动添加列注脚 。
● 页注脚:放置日期和页号等,每页打印一次 。
在启动报表设计器时,自动添加页注脚 。
● 总结:放置报表总结,每个报表只有一个总结带区 。 可以选择,报表,|,标题 /总结,菜单选项添加总结带区 。
13.1.2 使用报表设计器创建报表
⑶ 调整报表带区的大小在报表设计器中,可以根据需要添加控件的多少来调整每个带区的大小 。 这时可将鼠标指针指向要调整大小的带区的下边框,然后按住鼠标左键上下拖动,即可将带区调整到适当的大小 。
用户也可以在带区的条形栏上双击,利用弹出的对话框设置带区的高度 。
13.1.2 使用报表设计器创建报表
⒊ 报表设计器的数据环境数据环境简单地定义了报表的数据源 ( 包括表和视图 ),用它可以填充报表中的控件 。
[例 13-3] 向报表的数据环境中添加表或视图,并建立表间的关联 。 ⑴ 在
,报表设计器,窗口中,选择,显示,|“数据环境,菜单选项,打开,数据环境,窗口 。
图 13-18,数据环境”窗口
13.1.2 使用报表设计器创建报表
⑵ 当,数据环境,窗口为当前活动窗口时,选择,数据环境,|“添加,
菜单选项,打开,添加表或视图,对话框 。
⑶ 在,添加表或视图,对话框中的,数据库,下拉列表框中选择需要打开的包含所需表或视图的数据库,然后从,数据库中的表,列表框中选定一个表或视图 。
⑷ 单击,添加,按钮,将选定的表或视图添加到数据环境中 。
图 13-19 添加表
13.1.2 使用报表设计器创建报表与表和视图不同的是,报表本身不能排序记录,
它只能按照表或视图中排序的方式进行显示或打印 。
因此,在创建报表时,如果要设置报表中记录出现的顺序,就必须使用一个表或视图的索引来指定排列次序 。 如果表或视图中没有所需的索引,还必须建立索引 。 在设置数据环境以后,用户可以直接在数据环境中设置索引 。
[例 13-4] 为报表添加数据源,并为数据环境中的表设置索引 。
① 在,报表设计器,窗口中,选择,显示,|“数据环境,菜单选项,打开,数据环境,窗口 。
13.1.2 使用报表设计器创建报表
② 在,数据环境,窗口中单击右键,从弹出的快捷菜单中选择,属性,,打开,属性,面板,如图 13-20所示 。
图 13-20,属性”面板
13.1.2 使用报表设计器创建报表
③ 在,属性,面板的,对象,下拉列表框中选择 Cursorl。
④ 在,属性,面板中,切换到,数据,选项卡,选定 Order属性,然后在光标所在处输入一个索引名,或者从可用索引列表中选定一个索引 。
图 13-21 设置索引
13.1.2 使用报表设计器创建报表
⑤ 单击,属性,面板右上角的关闭按钮,
关闭,属性,面板 。
在给数据环境设置索引之后,根据此数据环境创建的报表将按照指定的索引排序报表记录 。 如果数据环境中没有添加任何表或视图,
也就不能按照上述方法设置索引 。
13.1.2 使用报表设计器创建报表
⒋ 报表控件报表控件是定义在页面上显示的数据项 。 用户可以利用,报表控件,工具栏在报表上添加域控件,标签,
线条,矩形,图片 /OLE绑定型控件等 。
⑴ 添加域控件添加域控件有两种方法:一种是从数据环境中添加域控件,另一种是从,报表控件,工具栏中添加域控件 。
13.1.2 使用报表设计器创建报表
[例 13-5] 使用,报表控件,工具栏向报表中添加域控件 。
① 在报表设计器窗口中,选择,显示,|“报表控件工具栏,菜单选项,打开,报表控件,工具栏,如图 13-22所示 。
图 13-22,报表控件”工具栏
13.1.2 使用报表设计器创建报表
② 在,报表控件,工具栏中单击,域,按钮,并在报表布局中要放置域控件的位置上单击,此时将弹出,报表表达式,
对话框 。
图 13-23 打开“报表表达式”对话框
13.1.2 使用报表设计器创建报表
③ 在,报表表达式,对话框中,单击,表达式,文本框后面的按钮,打开,表达式生成器,对话框 。
④ 在,报表表达式,对话框中,单击,格式,文本框后面的按钮 。
图 13-24 设置数据打印格式
13.1.2 使用报表设计器创建报表
⑤ 在,报表表达式,对话框中设置其它选项,然后单击,确定,按钮关闭此对话框 。
⑵ 添加标签控件标签控件是一种应用比较广泛的控件类型 。 它用于在报表中显示文本字符的原义 。 例如,在添加域控件时,可以在该控件前面或上面添加一个标签控件,
说明该域控件显示哪个字段的信息;在报表的标题带区可以添加标签控件,用于显示标题或其它说明信息 。
在报表布局中,可以使用,报表控件,工具栏添加标签控件 。
13.1.2 使用报表设计器创建报表
[例 13-6] 使用,报表控件,工具栏为报表添加标签控件 。
① 在,报表设计器,窗口中,选择,显示,|“报表控件工具栏,菜单选项,打开,报表控件,工具栏 。
② 在,报表控件,工具栏中单击,标签,按钮,
并在报表布局中要放置标签控件的位置单击,这时,
在报表中将放置一个标签控件 。
③ 在光标所在处输入该标签的文本 。
13.1.2 使用报表设计器创建报表
⑶ 添加图片 /OLE绑定型控件
[例 13-7] 使用报表控件工具栏,向报表中添加图片
/OLE绑定型控件,使报表中显示图片或通用型字段的值 。
① 在报表设计器窗口中,选择,显示,|“报表控件工具栏,菜单选项,打开,报表控件,工具栏 。
② 在,报表控件,工具栏中单击,图片 /OLE绑定型控件,按钮,并在报表中要放置该控件的位置单击,
此时将打开,报表图片,对话框,如图 13-25所示 。
13.1.2 使用报表设计器创建报表图 13-25 打开“报表图片”对话框
13.1.2 使用报表设计器创建报表
③ 如果要在报表中添加图片,可在,报表图片,对话框,文件,文本框中输入图片文件的名称;如果要添加 OLE绑定型控件,可在
,字段,文本框中输入通用型字段的字段名 。
④ 设置完毕,单击,确定,按钮 。 这时,
就可在报表中添加一个默认大小的图文框 。 图片或通用型字段存储的 OLE对象将显示在该图文框内 。
13.2 标签什么是标签呢? 如果要给,教师基本情况表,中的每个人打印一个小纸条,上面标明他的,教师代码,,,姓名,,,性别,和,职称,等,然后贴在他的档案袋上,这就是标签 。
应用 Visual FoxPro 6.0的标签打印功能能方便地制作出标签 。 档签可以说是一种简易的报表,它与报表的不同之处在于:报表是以表为单位按一定格式生成一个报表;而标签则是以表中的记录为单位,一条记录生成一个标签 。
13.2.1 使用标签向导创建标签在 Visual FoxPro 6.0中,用户可以使用,标签向导,或,标签设计器,创建标签,但使用标签向导是创建标签的最简单的方法 。
[例 13-8] 使用标签向导创建以 teacher表为数据源的标签,并通过预览菜单预览打印效果 。
⑴ 打开,项目管理器,对话框,在,文档,选项卡中选择,标签,选项,然后单击,新建,按钮,打开,新建标签,对话框 。
⑵ 单击,标签向导,按钮,打开标签向导的,选择表,对话框,在,数据库和表,下拉列表框中选择数据库和表 。
13.2.1 使用标签向导创建标签
⑶ 单击,下一步,按钮,打开,选择标签类型,对话框,从中选择标签类型 。
图 13-26 选择标签类型
13.2.1 使用标签向导创建标签
⑷ 单击,下一步,按钮,打开,定义布局,对话框,在,可用字段,列表框中选择字段,并将其添加到,选定字段,列表框中 。 其中,各字段之间可以使用逗号,句号等加以分隔 。
图 13-27 定义布局
13.2.1 使用标签向导创建标签
⑸ 单击,下一步,按钮,打开,排序记录,
对话框,从中选择排序字段 。
⑹ 单击,下一步,按钮,打开,完成,对话框,在此对话框中选择保存方式 。
⑺ 单击,完成,按钮,完成设置,此时将打开,标签设计器,窗口,显示创建的标签样式 。
13.2.1 使用标签向导创建标签
⑻ 选择,显示,|“预览,菜单选项,预览创建的标签内容,
结果如图 13-28所示 。
图 13-28 预览标签内容
13.2.2 使用标签设计器创建标签使用,标签设计器,可以创建标签或修改由向导创建的标签 。
,标签设计器,是报表设计器的一部分,可以使用相同的菜单栏和工具栏 。 唯一区别是两者使用的默认页面和纸张不一样 。
正因如此,在使用,标签设计器,创建标签时,除了要选择标签的型号以外,其它步骤与使用报表设计器完全一样 。
在创建标签时,如果在,新建标签,对话框中单击,新建标签,按钮,将打开,标签设计器,窗口 。 用户可以使用报表设计器工具栏和报表控制器工具栏设计标签 。
在,标签设计器,窗口中,用户可以按照创建报表的方法给标签指定数据,并插入相应的控件 。
13.3 打印报表或标签创建报表或标签的目的是为了把要打印的数据组织成令人满意的格式,然后通过打印机打印出来 。
13.3.1 预览报表或标签通过预览报表或标签,可以不用打印就能看到它的页面外观 。 例如,可以查看数据列的对齐和间隔,或者查看报表或标签是否返回所需的数据 。
在预览时,可以选择是否显示整个页面或缩小到一部分页面 。 用户可以通过选择,显示,|“预览,菜单项来打开预览窗口,并使用,打印预览,工具栏逐页进行预览 。 报表域标签的预览结果如图 13-29所示 。
13.3 打印报表或标签图 13-29 预览报表与标签
13.3.2 打印已创建的报表或标签使用报表设计器创建的报表或标签布局文件只是一个外壳,它把要打印的数据组织成令人满意的格式,
并按照数据源中记录的顺序处理记录 。 如果直接使用表内的数据,则数据是不会在布局内按组排序的 。
在打印一个报表文件之前,应该确认数据源中已对数据进行了正确的排序 。 如果表是数据库的一部分,
可创建视图并且将它添加到报表的数据环境中,该视图将排序数据 。 如果数据源是一个自由表,则可以创建并运行查询,然后将查询结果输出到报表中 。
13.3.2 打印已创建的报表或标签如果要打印报表或标签,可选择,文件,|“打印,菜单项,
打开,打印,对话框,设置打印选项,然后单击,确定,按钮进行打印 。
图 13-30 设置打印选项习题
1,选择题
⑴ 在,报表设计器,中可以使用的控件是 。
A.标签,域控件和线条 B.标签,域控件和列表框
C.标签,文本框和列表框 D.布局和数据源
⑵ 在创建快速报表时,基本带区包括 。
A.标题,细节和总结 B.页标头,细节和页注脚
C.组标头,细节和组注脚 D.报表标题,细节和页注脚
⑶ 在报表设计中,打印每条记录的带区是 。
A.标题 B.页标头 C.细节 D.总结
⑷ 在报表设计中,列标题一般在页的 带区 。
A.标题 B.细节 C.页标头 D.列标题
⑸ 报表设计器启动后默认的带区有 个 。
A.3 B.4 C.5 D.6
习题
2,填空题
⑴ 报表标题要通过 控件定义 。
⑵ 如果已经定义了对报表分组,报表中将包含和 带区 。
⑶ 设计好的报表与标签,既可以通过打印机打印输出,也可以通过 预览打印效果 。
参考答案
1,选择题
⑴ A ⑵ B ⑶ C ⑷ C ⑸ A
2,填空题
⑴ 标签
⑵ 允许
⑶ 组标头,组注脚
⑷ 屏幕