报表和标签设计.ppt
1,第10章 报表和标签设计,10.1 报表的基本概念10.2 创建报表10.3 创建标签10.4 报表和标签的输出10.5 小结,2,10.1 报表的基本概念,报表:是VFP6.0数据库管理系统中常用的功能之一,是应用程序中的重要环节,用户可以根据需要 来设计数据输出格式,形成报表文件。标签:是一种特殊的报表,它主要用来设计如各种物 品标签、邮政标签等。报表和标签由数据源和布局两个部分组成。数据源:数据表、查询文件、视图文件和临时表。,3,10.1.1 报表的类型,报表常规布局类型:,4,10.1.2 报表布局文件,报表布局文件以.frx为扩展名,用于存储报表的规范说明。报表布局文件可以指定要使用的数据字段、要打印的文本以及页中信息的放置方法。报表布局文件不存储每个数据字段的值,只存储报表中信息的布局和格式。,5,10.1.3 报表的设计方法,1.设计报表的基本步骤:确定要创建的报表类型。创建报表布局文件。修改和设置布局文件。预览和打印报表2.创建报表布局的方法报表向导:用于创建简单的 单表或多表报表。快速报表:用于快速地创建简单的单表报表。报表设计器:用于创建新报表和修改已建立的报表。,6,10.2 创建报表,VFP6.0提供了两种类型的报表向导:报表向导:快速地创建基于一个表或视图的报表一对多报表向导:快速地创建基于两个表或视图的报表,10.2.1 利用报表向导创建报表,7,1.创建单表报表,【例10-1】使用报表向导,创建一个教师基本情况表的简单报表。打开项目管理器,单击“文档”选项卡,选择“报表”选项,并单击“新建”按钮,打开“新建报表”对话框。单击“新建报表”对话框中的“报表向导”按钮,打开“向导选取”对话框。,8,选择“向导选取”对话框中的“报表向导”选项,单击“确定”按钮,打开“报表向导”对话框。首先要求用户确定报表中所需字段。这里选择教师情况表中的所有字段,单击“下一步”按钮,进入报表向导步骤2分组记录。,9,报表中的记录可以按一定条件分组,向导提供了3个条件,这3个条件是分层关系。分组时,先按第1个条件分组,再将多个组中的记录按第2个条件分组,依次类推。单击“分组选项”按钮,可以确定分组字段的字段间隔。单击“总结选项”按钮,可以对数值字段进行求和、求平均值,以及确定报表中是否包含有小计和总计等。单击“下一步”按钮,进入报表向导步骤3选择报表样式。,10,步骤3是报表样式选择,VFP提供了5种输出样式。我们在这里选取了“帐务式”。单击“下一步”按钮,进入报表向导步骤4定义报表布局。,11,本例选择“列数”为“1”,“方向”为“纵向”,“字段布局”为“列”。单击“下一步”按钮,进入报表向导步骤5排序记录。,12,确定报表中记录的输出次序,最多设定3个用于排序字段,按“选定字段”列表框中字段的先后顺序进行排序,排在前面的优先排序。这里按“升序编号”升序排序。单击“下一步”按钮,进入报表向导步骤6完成。,13,要求用户为报表输入一个标题,并选择合适的方式保存报表。在完成报表前,最好先单击“预览”按钮,观察报表结果,如果不满意,可单击“上一步”按纽进行修改。单击“完成”按纽,在弹出“另存为”对话框中,以教师基本情况表.frx为名保存报表。,14,2.创建一对多报表,【例10-2】以STUD为父表,以SC为子表,创建一个一对多报表,要求输出学生学号、姓名、课程代号、成绩。启动报表向导:因为本例报表数据基于两个表(STUD和SC),所以在“向导选取”对话框中应选择“一对多报表向导”选择父表字段:在如图中选择数据表STUD,从“可用字段”列表中选择“学号”,单击左边的左箭头按钮,或者直接双击“学号”字段,该字段会自动出现在“选定字段”列表中,同样方法添加姓名、班级字段,15,选择子表字段:在如图中选择SC表,并把课程代号和成绩字段加入到“选定字段”列中。单击“下一步”按钮,16,为父_子表建立关系:在如图中,在STUD表中选择“学号”,在SC表中也选择“学号”,这样在STUD表和SC表之间便依学号字段建立了关系。单击“下一步”按钮,打开排序对话框,17,排序:在如图排序对话框中选择“学号”,单击“添加”按钮,这样报表将学号进行排序。单击“下一步”按钮,出现“选择样式”对话框,18,选择样式:在如图“选择样式”对话框中选择需要的样式,如“账务式”,选择样式时,对话框左上角可预览样式效果。单击“下一步”,打开最后一个对话框,19,完成对话框要求用户输入报表标题及保存反方式等:在如图所示对话框中,设置报表标题为“学生成绩报表”,单击“预览”可以观察报表效果,如果满意,单击“完成”按钮,系统会打开另存为对话框,输入报表方件名(report1.frx)后,单击“确定”保存报表。由报表向导产生的报表如果不满足要求,可以在报表设计器中作进一步修改。,20,10.2.2 使用报表设计器创建报表,打开报表设计器主要有以下方法:打开项目管理器,单击“文档”选项卡,选择“报表”选项,并单击“新建报表”按钮,打开“报表设计器”。在系统菜单中选择【文件】|【新建】命令,在文件类型对话框选择“报表”,单击“新建文件”按钮,打开“报表设计器”,1.报表设计器,21,2.报表设计器的基本组成,报表设计器如图所示,默认包括3个带区:页标头(Page Header)、细节(Detail)和页脚(Page Footer),每个带区的底部显示分隔栏(1)标题(Title):标题区的信息在报表的开始处打印一次。(2)页标题(Page Header):页标题的内容在报表的每一页开头打印一次,(3)细节(Detail):内容区是报表的主体,用于输出数据库的记录,一般在该区放置数据库字段。打印报表时,细节区会包括数据库的所有记录,22,(4)页注脚(Page Footer)页脚区的内容在每页的最底部打印,一般包含页码、每页的总结和说明信息等。(5)总结(Summary)总结只在报表的末尾打印一次,一般利用本区打印总计或平均值等信息。(6)组标头和组注脚带区用于分组报表,组标头在每个分组开始时打印一次,组注脚带区的内容在每个分组结束时打印一次,23,(7)列标头和列注脚带区 列标头和列注脚带区主要用于分栏报表,选择【文件】|【页面设置】命令,将打开“页面设置”对话框,将“列数”设置成1的值,“间隔”稍作调整,单击“确定”,则列标头和列注脚会在报表设计器中出现(8)调整报表带区高度 将鼠标指针指向某带区分隔条,出现上下双箭头时,按住左键上下拖动分隔条即可改变报表带区高度。,24,3.创建快速报表,操作步骤:选择主菜单中的【报表】|【快速报表】命令,打开“快速报表对话框”。字段布局:用以选取字段排列方式 标题:选择此项,字段名将作为列标题出现将表添加到数据环境中:选择此项,则把报表的数据源加到数据环境中,字段:单击该按钮,打开字段选择对话框,用户可以选择报表中将出现哪些字段,在缺省情况下,包括除“通用”字段外的全部字段。,只能基于一个表或视图来创建报表而无法建立复杂布局通用型的字段内容无法显示。,25,10.2.3 使用报表设计器设计报表,1.启动报表设计器2设置报表数据环境 数据环境就是选择报表所需要的数据表、视图和关系,为报表添加需要的控件。,26,【例10-3】为STUDENT数据库设计一个报表:要求打印出学生的学号、姓名、班级、课程名、成绩。本例为该报表设置数据环境。分析:因为学号、姓名、班级来自STUD表,课程名来自COURSE表,成绩来自SC表,所以数据源应包括上述三个表:STUD、COURSE、SC,27,操作步骤:(1)打开“报表设计器”生成一个空报表,在系统菜单中选择【显示】|【数据环境】系统打开“数据环境设计器”窗口,如图所示(2)在“数据环境设计”窗口中右击鼠标,从快捷菜单中选择【添加】或在系统菜单中选择【数据环境】【添加】命令,28,(3)建立表之间的关系 选择STUD表的“学号”字段,按住鼠标左键拖曳到SC表的“学号”索引上后松开鼠标 同样的方法,建立SC表与COURSE表之间“课程号”之间的关系 选择表的关系(单击表之间的连线),右击鼠标,在快捷菜单中选择【属性】,打开属性窗口后,设置ONETOMANY属性为TRUE(4)保存报表:单击设计器的关闭按钮,系统会打开“保存”对话框,在对话框中输入文件名:“REPORT3”,单击“保存”按钮,29,3.添加控件,控件的名称和作用“控件工具栏”中控件的名称与作用如图所示。,30,(1)标签控件:用于显示静态文本 添加标签控件方法:在“报表控件”中选择“标签按钮”后,移动鼠标到窗口中的合适位置,单击鼠标左键,出现“”插入点后输入文本信息(2)图形控件 绘图控件包括线条、矩形和圆角矩形。在“报表控件”中选择相应的绘图控件,然后在报表的一个带区拖曳鼠标,将生成相应的图形。(3)域控件 域控件的添加和布局是报表设计的核心,用于显示表字段、变量和表达式的内容。,31,添加域控件方法 最方便的做法是右击报表,从快捷菜单中选择【数据环境】命令,打开报表的“数据环境设计器”窗口,选择要使用的表或视图,然后把相应的字段拖曳到报表指定的带区中即可 另一个方法是使用“报表控件”工具栏中的“域控件”按钮。单击该按钮,然后在报表带区的指定位置上单击鼠标,系统将显示一个“报表表达式”对话框,可以在“表达式”文本框中输入字段名、变量名或表达式,也可单击右侧“”按钮,打开“表达式生成器对话框”,32,(4)图片/ActiveX绑定控件,添加图片 在“报表控件”工具栏中单击“图片/ActiveX绑定控件”按钮,将鼠标指针指向标题带区的合适位置上,单击鼠标左键,弹出弹出“报表图片”对话框,如图所示。,插入文件中的图片:在“图片来源”区域选中“文件”,并输入一个图形文件的位置和名称,或单击文本框右边的“”按钮,打开“打开”对话框,选择一个图片文件,添加图形(通用型)字段:在“报表图片”对话框的“图片来源”区域选择“字段”,在“字段”框中输入字段名,或单击字段框右侧的“按钮来选取字段,33,调整图片 当图片与图文框的大小不一致时,需要在“报表图片”对话框中选择相应的选项来控制图片的显示行为“裁剪图片”:图片将以图文框的大小显示图片“缩放图片,保留形状”:图文框中放置一个完整、不变形的图片在这种情况下,可能无法填满整个图文框“缩放图片,填充图文框”:使图片填满整个图文框,在这种情况下,图片纵横比例可能会改变,从面引起图片的变形,34,4设计数据分组 一个报表可以设置一个或多个数据分组,组的分隔基于分组表达式 设置分组表达式:从系统菜单中选择【报表】|【数据分组】命令。,在“分组表达式”框内键入分组表达式,或者单击“”按钮,在“表达式生成器”对话框中创建表达式,组属性主要用于指定如何分页,在“组属性”区域中有四个复选框,根据不同的报表类型,有的复选取框不可用,35,5分栏报表 从系统菜单中选择【文件】|【页面设置】命令,弹出如图所示的“页面设置”对话框。,在“列”区域,把“列数“微调器的值调整为栏目数,例如列数为2,则将整个页面平均分成两部分,调整列之间的间隔值,如间隔为0.4,设置顺序:在“页面设置”对话框中,单击右面的“自左向右”打印顺序按钮即可,36,6报表控件操作与布局(1)选择控件:用鼠标单击控件可以选定该控件,被选定的控件四周出现个控点(2)设置控件字体:选择要设置字体的控件,从系统菜单中选择【格式】|【字体】,将打开标准字体对话框(3)调整控件的大小:选定控件,拖动控件四周的某个控点,改变控件的宽度和高度(4)控件布局:利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选中控件的相对大小或位置,37,10.3 创建标签,在实际应用中并不总是要求数据以表格形式输出,例如个人名片,邮件标签,借书卡片等,往往需要以标签卡片的形式输出某些数据 标签是采用多列报表布局,为匹配特定标签纸而对列作特定设置的报表。,38,10.3.1 使用标签向导创建标签,启动标签向导:进入项目管理器,在“文档”卡中选中“标签”,而后单击“新建”按钮,该对话框用于为标签指定数据源,39,选择标签类型:,“列”是指沿纸张水平方向打印的标签个数,大小=高*宽,40,定义标签的布局,在“文本”输入框中可输入任何文字串,例如输入“学生信息卡”,按“添加”按钮可把文字串添加到“选定的字段”框中,成为每张标签上都出现的文字,在“可用字段”框中选中的任何字段,也可以添加到“选中的字段”框,如果想另起一行,可以单击中部的“回车”按钮,41,排序,如选择排序字段如“学号”。单击“添加”按钮,42,利用标签设计器创建标签,1.打开标签设计器方法(1)利用“新建”命令启动标签设计器(2)进入某项目管理器,选择“文档”卡的“标签”项目,单击“新建”按钮,在“新建标签”对话框中单击“新建标签”按钮,43,2.使用标签设计器(1)进入标签设计器后,首先弹出“新建标签”对话框,要求用户选择标签的布局,选择标签布局,44,“标签设计器”窗口,标签设计器的常规操作与报表设计器完全相同,45,10.4 报表和标签的输出,1页面设置 设置左边距 从系统菜单中选择【文件】|【页面设置】命令,打开“页面设置”对话框,在“左页边距”框中输入“左边距”数值,页面布局将按新的页边距显示 选择纸型和方向:单击“打印设置”按钮,打开“打印设置”对话框,可以从“大小”列表中选择纸张大小。默认的打印方向为纵向,若要改变纸张的方向,可从“方向”区选择横向,再单击“确定”按钮,46,2打印输出报表和标签,(1)有3种方式可以执行打印操作 在系统菜单中选择【文件】菜单,并在【文件】菜单中选择“打印”命令 在系统菜单中选择【报表】菜单,并在【报表】菜单中选择“运行报表”命令 在报表和标签设计器中单击鼠标右键,在弹出的快截菜单中选择“打印”命令,47,(2)弹出“打印”对话框,48,(3)单击对话框中的“选项”按钮,进入“打印选项”对话框,49,单击“打印选项”对话框中的“选项”按钮,可以在弹出的“报表和标签打印选项”对话框中设置一定的条件,用来筛选符合条件与范围的记录数据,50,(4)“报表和标签打印选项”对话框“作用范围”下拉列表框:用于指定打印范围 All:打印全部记录 Next:打印当前记录往下的n条记录 Record:打印第n条记录 Rest:打印当前记录开始打印到文件尾 For文本框:设定打印条件,符合该条件的任一条记录都被打印 While文本框:设定打印条件,当记录符合该条件时将被打印,直到遇到不符合条件的记录。,51,10.5 小结,读者应该掌握以下内容:如何利用报表向导创建单表报表和一对多报表如何利用报表设计器创建快速报表和多样化的报表了解标签的创建掌握如何打印报表和标签,