第四章4154.docx
- 文档编号:25435483
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:28
- 大小:325.97KB
第四章4154.docx
《第四章4154.docx》由会员分享,可在线阅读,更多相关《第四章4154.docx(28页珍藏版)》请在冰豆网上搜索。
第四章4154
第4章:
报表、标签设计
第41课时创建报表和标签
(一)
一、教学目标
1.掌握创建报表的方法
2、掌握创建标签的方法
二、教学重、难点
1.创建快速报表
2、创建标签的方法
三、教学方法
举例讲授演示
四、教学过程
报表和标签的建立方法基本上是相同的,它们都可以通过向导或设计器来创建,即创建报表可以使用“报表设计器”、创建标签可以使用“标签设计器”。
用向导创建报表和标签只需按提示一步一步地执行即可,本章不再介绍。
创建快速报表
首先打开报表设计器,并向数据环境添加报表数据源,然后选择【报表】|【快速报表】VFP6会打开“快速报表”,如图8-1所示
在这里可以选择字面布局和选择是否包含标题,如果要在报表中对表中的字段有所选择,还可以单击【字段】,打开“字段选择器”选择所需包含的字段。
如图8-2所示
。
设置完成后,快速报表如图8-3所示。
保存该报表,则创建快速报表完成。
使用报表的带区可以决定报表的每页、分组及开始与结尾的式样。
可以调整报表的带区的大小。
在报表的带区内,添加报表控件,然后移动、复制、调整大小、对齐方式以及调整它们,从而安排报表中的文本和域控件。
可以在任何带区中设置任何报表控件。
也可以添加运行报表时执行的用户自定义函数
第42课时创建报表和标签
(二)
一、教学目标
1.掌握创建报表的方法
2、掌握创建标签的方法
二、教学重、难点
1.创建快速报表
2、创建标签的方法
三、教学方法
举例讲授演示
四、教学过程
如果用户不想使用“报表向导”,也可以用报表设计器生成一个新的报表。
如果已有一个空白报表或标签,或者已由“报表设计器”生成了一个报表,但它不十分适合要求,则可以在“报表设计器”中修改它。
下面将介绍报表设计器的使用方法。
1、进入报表设计器
进入报表设计器的方法与前面介绍的“表设计器”、“表单设计器”基本相同,其步骤如下:
选定一个项目文件打开项目管理器,选择“文档”选项卡中的“报表”,再单击【新建】|【新建报表】,弹出“报表设计器”窗口。
窗口中包含“页标头”、“细节”和“页注脚”三个带区,若使用【新建】|【报表向导】方法进入报表向导,则还会在报表的最上面增加一个“标题”带区,若在向导中加入了数据分组,还会有“组标头”和“组注脚”等带区。
在“报表设计器”的带区中,可以插入各种控件,它们包含报表中想要的标签、字段、变量和表达式。
要增强报表的视觉效果和可读性,还可以添加直线、矩形以及其它一些控件,也可以包含图片/OLE绑定型控件。
使用报表的带区可以决定报表的每页、分组及开始与结尾的式样。
可以调整报表的带区的大小。
在报表的带区内,添加报表控件,然后移动、复制、调整大小、对齐方式以及调整它们,从而安排报表中的文本和域控件。
可以在任何带区中设置任何报表控件。
也可以添加运行报表时执行的用户自定义函数
2、设计报表
仍以建立Student报表为例,先打开“报表设计器”,选定【显示】|【报表控件工具栏】,将“报表控件”工具栏打开,一般情况下,在打开“报表设计器”时,“报表控件”工具栏会自动打开。
“报表控件”工具栏中各控件的功能如图
在此工具栏上有八个按钮,其中:
“选定对象”按钮:
用于在报表设计或修改过程中从报表上选定一个对象。
“标签”按钮:
用于在设计时向报表中添加一个标签对象,用于存放文本。
“域控件”按钮:
用于在设计时向报表中添加一个域控件,在域控件中可以存放任何合法的VFP表达式、内存变量和字段变量等。
“线条”按钮:
用于在报表中设计各种分隔线。
“矩形”、“圆角矩形”按钮:
用于在报表中画一个矩形框或圆角矩形框。
“图片/ActiveX绑定控件”按钮:
用于向报表中添加一个图片或ActiveX绑定控件。
“按钮锁定”按钮:
使用此按钮可以锁定被选定的按钮。
当要向报表中连续添加几个相同的控件时,可以利用“按钮锁定”功能,即先选定要向报表中添加的对象的按钮(如矩形),然后再选定“按钮锁定”按钮,这时就可以连续向报表中添加矩形框对象。
第43课时创建报表和标签(三)
一、教学目标
1.掌握创建报表的方法
2、掌握创建标签的方法
二、教学重、难点
1.创建快速报表
2、创建标签的方法
三、教学方法
举例讲授演示
四、教学过程
设计Student报表步骤:
第1步:
设置报表的数据环境。
打开报表设计器后,选择系统菜单上的【显示】|【数据环境】在系统菜单上增加【数据环境】菜单,然后再选择【数据环境】|【添加】。
在弹出的“添加表或视图”对话框中先在“选定”下选择“表”,然后在列表框中选择Student表,再单击【添加】,再单击【关闭】,最后关闭“数据环境设计器”。
在“添加表或视图”对话框中从“数据库中的表”下选择Student表,再单击【添加】,然后单击【关闭】,即可将Student表添加到“数据环境设计器”中。
若要添加视图,可在“选定”选项组中先选择“视图”,再进行上述操作。
添加后表或视图后关闭“数据环境设计器”。
第2步:
为报表添加标题。
第3步:
设置报表的页标头。
设置报表的页标头与上面设置标题的方法相同。
第4步:
设置细节。
在第3步设计完成后,可以将“数据环境设计器”打开。
设置细节时也可以不从“数据环境设计器”中将字段拖到细节,而使用报表控件工具栏。
第5步:
在页注脚中设置报表页码。
方法基本同上一步,只不过在“表达式生成器”对话框中不是从“字段”列表框中选择,而是从“变量”列表框中选择“_pageno”。
在此报表中,数据之间没有分隔线,若要求要有网格线,也可以用同上的基本方法,在“页标头”中的字段名上加上方框线,在“细节”中的域控件上加分隔线。
报表设计完成后,可以先单击系统菜单“常用”工具栏上的打印预览按钮,查看报表设计的效果,如果不满意还可以用上述方法进行修改,如果满意则可以结束“报表设计器”的设计工作,将报表保存到预定的目录中。
预览结果如上
第44课时创建报表和标签(四)
一、教学目标
1.掌握创建报表的方法
2、掌握创建标签的方法
二、教学重、难点
1.创建快速报表
2、创建标签的方法
三、教学方法
举例讲授演示
四、教学过程
3、修改报表文件
要修改已生成的报表文件,应先将它打开。
在项目管理器的“文档”选项卡中选择“报表”,并在展开的报表列表中选择要修改的报表,然后单击项目管理器上的【修改】按钮。
如对刚建立的Student报表。
在“报表设计器”中可以用建立报表的方法修改已存在的报表。
4、规划数据位置
下图说明了报表中可能出现的各类带区以及每个带区应放置的数据等典型内容。
用“报表设计器”设计报表时,报表中要用的数据以及各数据在报表中什么位置显示和打印,均要在设计时加以考虑,这就是对报表布局的规划。
通过规划报表布局,可以设计和修改数据在报表页面上的位置。
将数据对象放在报表中的不同的带区,将有不同的显示结果,例如,如果将数据对象放在报表的“标题”带区中,则此数据在报表中只显示或打印一次,但如果将表的字段对象放在报表的“细节”带区中,则可以每条记录显示或打印一次。
可以用下表决定所要使用的带区以及在带区中应放入何种控件。
第45课时报表与标签的布局和数据
(一)
一、教学目标
1.掌握报表与标签的布局的方法
2、掌握报表与标签的数据的方法
二、教学重、难点
1.报表与标签的布局和数据
三、教学方法
举例讲授演示
四、教学过程
重定义页面布局
在报表中,可以定义多个列,也可以改变页面中的带区的高度,从而重新设计页面布局。
1、在页面上定义多个列
若要定义多个列的报表,可以:
(1)在【文件】菜单上选择【页面设置】,打开“页面设置”对话框,如图。
2)根据要求在对话框中进行设置,最后选择【确定】,“报表设计器”将反映出设置的改变。
2、设置报表带区高度
在设计报表时,可以改变报表带区的高度。
报表带区的高度是指一个报表带区可用的页面空间(在页边距的范围内)。
例如:
如果“标题”带区设置为2英寸,则“标题”将在顶部页边距下2英寸区域内显示和打印。
“细节”带区指定每个要显示的记录所需要的区域。
对于“组标头”和“页注脚”带区,还可以设置附加的参数。
若要精确设置带区的高度,可以通过先双击相应带区的条形栏,在出现的一个与该带区对应的对话框中的“高度”框中输入所需要的高度值,然后再单击【确定】。
带区高度设置在前文已作说明。
第46课时报表与标签的布局和数据
(二)
一、教学目标
1.掌握报表与标签的布局的方法
2、掌握报表与标签的数据的方法
二、教学重、难点
1.报表与标签的布局和数据
三、教学方法
举例讲授演示
四、教学过程
在域控件中使用表达式和函数
在报表或者标签中,可以包含域控件来显示一些表达式。
例如,表或视图的字段、内存变量,以及它们之间的运算的值等。
1、添加域控件
用户可以使用几种方法向报表中添加域控件,在上一节的报表设计中介绍了二种方法。
一是直接使用工具栏上的域控件按钮向报表中添加域控件;二是从“数据环境设计器”中添加表的字段作为域控件。
2、插入字段连接构成的域控件
把表的字段添加到报表之后,在预览时可能会看到这些字段没有按照在页面上所希望的方式显示。
有时想要将几个字段连在一起显示,这时可以将这些字段连成一个域表达式,同时删除多余的空格。
每个控件所对应的值所需的空间可能不同,这时可以适当调整控件。
若要将几个字段连接成为一个域表达式,可以按以下步骤进行:
(1)选择“报表控件”工具栏中的“域控件”,在报表中插入一个域控件。
将域控件的大小设为表达式求值后所必须的最小值。
也可以先双击一个选中的域控件,然后在“报表表达式”对话框中的“溢出时伸展”前的复选框中做上选中标记,使它能够在表达式求值后需要更多的空间时自动伸展;若所需空间较小,则控件不会缩小,但控件的所占的空间不会比在设计时设定的更小。
(2)在“报表表达式”对话框中,选择“表达式生成器”按钮。
(3)在弹出的“表达式生成器”中,从“字符串”框中选择Alltrim(expC)函数。
该字符串出现在“报表字段的表达式”框中,同时选定了expC。
(4)在“字段”列表框中双击想要在控件中显示的第一个字段名。
该字段名将代替“报表字段表达式”框中的expC。
在字段名后输入一个“+”号也可以从“字符串”函数框中选择一个“+”号。
(5)重复上面的第三步和第四步来处理其它字段,直至完成表达式,再选择【确定】。
(6)在“报表表达式”对话框中选择“溢出时伸展”。
在显示报表时,若设计时设定的控件大小不能包含其中的表达式的值,则控件自动向后伸展,直至完全能够显示整个值。
为了将几个字段合为一个表达式,对每个字段名前使用ALLTRIM()函数,要注意,此函数只能用于字符型字段,若字段为非字符型字段,则还要使用转换函数,将非字符型值转换为字符型的值。
而每个表达式元素之间用“+”号连接。
第47课时报表与标签的布局和数据(三)
一、教学目标
1.掌握报表与标签的布局的方法
2、掌握报表与标签的数据的方法
二、教学重、难点
1.报表与标签的布局和数据
三、教学方法
举例讲授演示
四、教学过程
定义报表变量
若要在报表中操作数据或显示计算结果,则需要用到报表变量。
使用报表变量可以计算与报表数据环境中提供的数据有关的各种值,并且可以用这些值来计算其它一些值。
如果要使用报表变量,则必须在使用前先定义。
1、定义报表变量
若要定义报表变量可以使用下述方法:
(1)若已经建立了报表,则先将报表打开;若还没有建立报表,则创建一个新报表。
(2)从系统菜单中选择【报表】|【变量】,将弹出图示的“报表变量”对话框。
定义一个报表变量nCount,用存保存表中一个班级的人数
第1步:
在项目管理器中选择“文档”选项卡中的Student报表后单击【打开】。
2、重新排序报表变量
报表变量是根据它们出现的先后顺序来计算的,并且影响引用这些报表变量的表达式的值。
例如,如果定义一个变量时,用到了另外一个变量,那么被引用的报表变量应该在引用之前先出现(先被定义)。
若要更改报表变量的顺序,可以先从“报表”菜单中选择“变量”,打开“报表变量”对话框。
在“报表变量”对话框中的“变量”列表框中拖动其左边的“移动”按钮,便可以重新调整所定义的报表变量的顺序。
调整完成后按【确定】按钮。
第48课时报表与标签的布局和数据(四)
一、教学目标
1.掌握报表与标签的布局的方法
2、掌握报表与标签的数据的方法
二、教学重、难点
1.报表与标签的布局和数据
三、教学方法
举例讲授演示
四、教学过程
域控件的格式化
在插入一个域控件后,可以改变控件的数据类型和显示格式。
数据类型可为:
字符型、数值型或日期型。
每个数据类型都有自己的格式选项,其中包括用户建立自己格式模板的选项。
当打印报表或标签时,格式可以控制字段的显示。
可以在“报表表达式”对话框的“表达式”框中直接输入格式函数,也可以在“格式”对话框中进行选择。
下面列出一些可能遇到的典型情况:
可能需要将所有的输出字母转化为大写,也可能需要用逗号或小数点分隔数值输出,或用货币格式显示数值输出,将日期类型的输出转化为其他格式等等。
1、报表控件的格式化选项
在域控件中,可以对每种数据类型设置不同的格式选项。
若要将一个域控件格式化,可以先双击“域控件”,然后在“报表表达式”对话框中,选择“格式”对话框后的按钮,为该字段选择数据类型:
“字符型”、“数值型”或“日期型”,“编辑选项”区域将会显示该数据类型下的各种格式选项。
如图8-18所示。
最后选择对齐方式和所需的格式选项。
2、在域中对齐文本
在域控件中对齐文本不会改变控件在报表上的位置,只是在控件内对其内容进行格式调整。
有两种方法可以调整控件中内容的位置。
要直接在域控件中调整文本对齐,可以:
①选择要操作的控件。
②在VFP系统菜单上选择【格式】|【文本对齐方式】。
③从该子菜单中选择合适的选项。
要在域中调整文本对齐,可以按上例的方法在“格式”选项中调整文本对齐方式
3、定义域格式模板
格式模板允许自己定义域中数据的格式。
在“报表表达式”对话框的“格式”框或者“格式”对话框里输入一系列普通字符或代码,就可以建立各种打印格式。
所输入的普通字符将与域中的值一同出现在域中,而输入的代码则用来确定字段输出的外观。
例如,如果为一个十位数的数值字段指定如(999)999-9999所示的格式模板,那么,像括号、空格和破折号这样的字符将和数值型数据一起打印。
4、改变字体
对于每个域控件或标签控件,可以改变字体和文本的大小,还可改变整个报表的默认字体。
要在一个报表中改变字体和字号,可以:
①选择控件。
②从系统菜单中选择【格式】|【字体】,这时出现“字体”对话框。
③选择合适的字体和大小,然后单击【确定】。
若要改变默认的字体,可以:
①从系统菜单中选择【报表】|【默认字体】。
②在“字体”对话框中,选择需要作为默认值的合适字体和大小,然后单击【确定】。
只有在改变默认的字体后插入的控件才反映出新的字体设置。
对于已存在的对象,须将它们全部选定,然后再使用【格式】菜单上的【字体】选项修改设置。
第49、50课时集成查询和报表
(一)
一、教学目标
1.掌握集成查询和报表的方法
2、掌握集成查询和报表的方法
二、教学重、难点
1.集成查询和报表
三、教学方法
举例讲授演示
四、教学过程
集成查询的报表
在创建好了应用程序的各个组件之后,就可以将它们集成起来。
下图显示了将查询和报表添加到应用程序的一些方法
VFP中的报表在一般情况下总是和其它应用程序一同使用的,对于利用VFP开发的应用系统而言更是如此。
提供给用户的是一些简单、明了、易操作的表单界面,只是由用户根据自己要达到的目的在表单上选择不同的对象达到各种要求。
这就要求应用程序设计人员将报表和标签功能有机地集成到其它应用程序中。
为了达到上述要求,可以将执行查询或报表的代码添加到应用程序的表单按钮、菜单上的一个选项或工具栏上的一个按钮等对象中。
若要添加查询、视图或程序,可将DO或USE等命令添加到表单命令按钮、工具栏按钮或菜单项的相关代码中。
例如,如果想在一个表单中由用户通过单击表单上的按钮来运行一个查询、程序或打开一个视图,则可以建立如图所示的表单:
若将报表加入到应用程序时,有以下几种选择:
■如果只是想让用户简单地启动报表并得到打印结果,可以把REPORT命令添加到表单控件、菜单命令或工具栏按钮中。
■如果报表中用到的某些变量允许用户输入,则可以像参数化查询那样从用户那里获得变量的值,或从表单中某些文本框获得变量值等。
■如果想让用户创建自定义报表,可以向用户提供使用报表设计器创建新报表或修改已有报表的能力。
若要运行报表和标签,则要使用REPORT或LABEL命令。
1、REPORT命令
格式:
REPORTFORM<报表文件名>/<?
>[<范围>][FOR<条件>][WHILE<条件>][HEADING<标题文本>][PREVIEW[WIINDOW<窗口名>]][TOPRINTER[PROMPT]]/[TOFILE<文件名>[ASCII]][SUMMARY]
功能:
根据报表定义文件显示或打印报表。
参数描述:
<报表文件名>:
指定报表定义文件的名称。
>:
显示“打开”对话框,从中可以选择报表文件。
[HEADING<标题文本>]:
指定放在报表每页上的附加标题文本。
PREVIEW[WIINDOW<窗口名>]:
以页面预览方式显示报表,而不把报表送到打印机中打印。
TOPRINTER[PROMPT]:
把报表送到打印机打印。
包含PROMPT子句在打印前显示设置打印机的对话框。
可调整的打印设置取决于当前安装的打印机驱动程序。
TOFILE<文件名>[ASCII]:
指定报表要送往的文本文件。
包含ASCII子句可用报表定义文件创建一个ASCII文本文件。
SUMMARY:
不打印细节行,只打印总计和分类总计信息。
例如,要将当前目录中的Student报表送到打印机打印出来,可使用下面的命令:
REPORTFORMStudentTOPRINTERPROMPT
2、LABEL命令
格式:
LABEL[FORM<标签文件名>/FORM<?
>][<范围>][FOR<条件>][WHILE<条件>][PREVIEW
功能:
根据表文件和标签文件打印标签。
参数描述:
FORM<标签文件名>:
指定要打印的标签所对应的标签定义文件名。
若标签定义文件不在当前目录中,则必须指定目录。
FORM<?
>:
显示“打开”对话框,从中可以选择一个已经定义了的标签定义文件。
PREVIEW
在预览窗口中显示标签而不打印。
若包含可选项NOWAIT,则在运行时VFP将不等待关闭“页面预览”窗口,而是在该窗口打开的情况下继续往下执行。
SAMPLE:
显示并打开一个样本来检验标签的对齐方式。
TOPRINTER[PROMPT]:
把标签送到打印机打印。
包含PROMPT子句在打印前显示设置打印机的对话框
第51课时集成查询和报表
(二)
一、教学目标
1.掌握集成查询和报表的方法
2、掌握集成查询和报表的方法
二、教学重、难点
1.集成查询和报表
三、教学方法
举例讲授演示
四、教学过程
用查询收集用户输入
以打印学生情况报表为例,说明用查询收集用户输入的方法。
在Student.dbf表中如果有很多的记录,而在打印报表时又不想一次将所有记录打印出来,而只想以班级为单位有选择性的打印,则可以先建立表单如图所示。
在Combo1组合框中,将RowSourceType属性设置为3-SQL语句,将RowSo-urce属性设置为:
SELECTDISTINCT班级FROMSTUDENTINTOCURSORBJCX
通过SQL查询语句,将Student表中所有的班级在Combo1组合框中列出来供用户操作时进行选择。
其中BJCX为保存查询结果的临时表文件名,若省略INTOCURSORBJCX子句,则在执行表单时,SELECT命令执行的结果将会在浏览窗口中显示。
在【打印】按钮的Click事件中添加如下代码:
SELECT*FROMSTUDENTWHERESTUDENT.班级=THISFORM.;COMBO1.VALUEINTOCURSORCURSOR_BJ&&用查询收集用户的输入
*****以下程序是由用户选择是预览报表还是要打印报表*****
MM=MESSAGEBOX('想要预览“STUDENT”报表吗?
',35,"打印Student报表")
IFMM=6
REPORTFORMD:
\XSGLXT\REPORTS\STUDENTPREVIEW
ELSE
IFMM=2
RETURN
ENDIF
ENDIF
MM=MESSAGEBOX('想要打印“STUDENT”报表吗?
',33,"打印Student报表")
IFMM=1
REPORTFORMD:
\XSGLXT\REPORTS\STUDENTTOPRINTERPROMPT
*****上一行命令中加下划线的部分是指定要运行的报表文件名,若不在当前*****目录下,则要加上路径。
ELSE
RETURN
ENDIF
要注意:
建立的Student报表要将其中数据环境中的表移去,即在报表的数据环境中不含有任何表。
对于本例,也可以不用SQL查询语句而直接使用REPORT命令,即将SELECE命令删除,在REPORT语句中增加下列可选项:
FOR班级=THISFORM.COMBO1.VALUE
其中:
THISFORM.COMBO1.VALUE是对用户选择的引用。
即通过REPORT命令的条件子句,对表中的记录进行筛选,从而达到按用户选择的班级输出报表的目的
第52课时报表和标签的输出
(一)
一、教学目标
1.掌握报表和标签的输出的方法
2、掌握报表和标签的输出的方法
二、教学重、难点
1.报表和标签的输出
三、教学方法
举例讲授演示
四、教学过程
为控件设置打印选项
总的来说,控件的位置和它所处的带区的位置决定了它打印时的位置和时间。
除此之外,还可以为每个控件设置特定的打印选项。
每个控件都有一个默认的尺寸,该尺寸或是由它的值(对于字段或标签来说)决定,或是在创建该控件的时候确定(对于线条、矩形或者图形来说)。
控件在页面上的长度指定了该控件的显示宽度。
由于有些控件的值根据记录的不同而不同,可将控件的高度设置为可向下伸展,以显示整个的值,否则,有些数据将在显示的时候被截断。
除了标签控件之外,所有的控件的大小均可变。
1、打印变长度值的控件
为了使控件尽可能少的占用报表的地方,可将其设置为可伸展的。
例如,一个表达式的值可能依记录的不同而不同,这时,最好不要在报表上为这个控件分配一个固定的可容最长记录值的空间,而应将控件设置为可伸展,即可容纳所有的数值。
对于该控件下方的控件,可将其设置为可向下浮动的。
注意:
在如下情况下,某些数据在打印时会被覆盖:
(1)将一个域设置为相对于带区底端固定,同时在这个域的下面还有一个域,设置为相对于带区顶端固定并且选择了溢出时伸展
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 4154