1、目 录上一页下一页退 出1第第9章章 报表与标签设计报表与标签设计 目 录上一页下一页退 出2本章要点本章要点8.1.1 报表向导报表向导8.1.2 打开报表设计器打开报表设计器8.1.3 报表生成器介绍报表生成器介绍8.1.4 快速报表快速报表8.1.5 修改用快速报表产生的报表修改用快速报表产生的报表8.1.6 设计报表设计报表8.1.7 报表输出报表输出8.2 标签的设计与使用标签的设计与使用目 录上一页下一页退 出38.1.1 报表向导启动表单向导有以下四种途径:(1)打开“项目管理器”,选择“文档”选项卡,从中选择“报表”。然后单击“新建”按钮。在弹出的“新建表单”对话框中单击“报表
2、向导”按钮。(2)在系统菜单中选择【文件】|【新建】命令,或者单击工具栏上的“新建”按钮,打开“新建”对话框,在文件类型栏中选择“报表”。然后单击“向导”按钮。(3)在系统菜单中选择【工具】|【向导】|【报表】命令。目 录上一页下一页退 出4【例8-1】利用报表向导设计学生成绩报表,要求输出学生学号、姓名、课程代号、成绩并保存为“REPORT1”。启动报表向导:因为本例报表数据基于两个表(STUD和SC),所以在“向导选取”对话框中应选择“一对多报表向导”选择父表字段:在如图中选择数据表STUD,从“可用字段”列表中选择“学号”,单击左边的左箭头按钮,或者直接双击“学号”字段,该字段会自动出现
3、在“选定字段”列表中,同样方法添加姓名、班级字段 目 录上一页下一页退 出5 选择子表字段:在如图中选择SC表,并把课程代号和成绩字段加入到“选定字段”列中。单击“下一步”按钮 目 录上一页下一页退 出6 为父_子表建立关系:在如图中,在STUD表中选择“学号”,在SC表中也选择“学号”,这样在STUD表和SC表之间便依学号字段建立了关系。单击“下一步”按钮,打开排序对话框 目 录上一页下一页退 出7 排序:在如图排序对话框中选择“学号”,单击“添加”按钮,这样报表将学号进行排序。单击“下一步”按钮,出现“选择样式”对话框 目 录上一页下一页退 出8 选择样式:在如图“选择样式”对话框中选择需
4、要的样式,如“账务式”,选择样式时,对话框左上角可预览样式效果。单击“下一步”,打开最后一个对话框 目 录上一页下一页退 出9 在如图所示对话框中,设置报表标题为“学生成绩报表”,单击“预览”可以观察报表效果,如果满意,单击“完成”按钮,系统会打开另存为对话框,输入报表方件名(report1)后,单击“确定”保存报表。由报表向导产生的报表如果不满足要求,可以在报表设计器中作进一步修改。目 录上一页下一页退 出108.1.2 打开报表设计器 启动报表设计器有多种方法:菜单方法:若是新建报表,在系统菜单中选择【文件】|【新建】命令,在文件类型对话框选择“报表”,单击“新建”按钮;若是修改报表,则选
5、择【文件】|【打开】命令,在“打开”对话框中选择要修改的报表文件名,单击“打开”按钮。命令方法:在COMMAND窗口输入如下命令:CREATE REPORT&创建新的报表或 MODIFY REPORT&打开一个已有的报表 在项目管理器中,先选择文档标签,然后选择报表,单击“新建”按钮。若需修改报表,选择要修改的报表,单击“修改”按钮。目 录上一页下一页退 出118.1.3 报表生成器介绍 报表设计器如图所示,默认包括3个带区:页标头(Page Header)、细节(Detail)和页脚(Page Footer),每个带区的底部显示分隔栏(1)标题(Title):标题区的信息在报表的开始处打印一
6、次。(2)页标题(Page Header):页标题的内容在报表的每一页开头打印一次 (3)细节(Detail):内容区是报表的主体,用于输出数据库的记录,一般在该区放置数据库字段。打印报表时,细节区会包括数据库的所有记录 目 录上一页下一页退 出12(4)页注脚(Page Footer)页脚区的内容在每页的最底部打印,一般包含页码、每页的总结和说明信息等。(5)总结(Summary)总结只在报表的末尾打印一次,一般利用本区打印总计或平均值等信息。(6)组标头和组注脚带区用于分组报表,组标头在每个分组开始时打印一次,组注脚带区的内容在每个分组结束时打印一次 目 录上一页下一页退 出13(7)列标
7、头和列注脚带区 列标头和列注脚带区主要用于分栏报表,选择【文件】|【页面设置】命令,将打开“页面设置”对话框,将“列数”设置成1的值,“间隔”稍作调整,单击“确定”,则列标头和列注脚会在报表设计器中出现(8)调整报表带区高度 将鼠标指针指向某带区分隔条,出现上下双箭头时,按住左键上下拖动分隔条即可改变报表带区高度。目 录上一页下一页退 出142控件的名称和作用控件的名称和作用“控件工具栏”中控件的名称与作用如图所示。目 录上一页下一页退 出153报表设计器工具栏“报表设计器工具栏”中控件的名称与作用如图所示目 录上一页下一页退 出168.1.4 快速报表 操作步骤:选择主菜单中的【报表】|【快
8、速报表】命令,打开“快速报表对话框”。字段布局:用以选取字段排列方式 标题:选择此项,字段名将作为列标题出现将表添加到数据环境中:选择此项,则把报表的数据源加到数据环境中 字段:单击该按钮,打开字段选择对话框,用户可以选择报表中将出现哪些字段,在缺省情况下,包括除“通用”字段外的全部字段。目 录上一页下一页退 出178.1.5 修改用快速报表产生的报表 操作步骤如下:(1)打开要修改的报表(2)添加报表标题 在系统菜单中选择【报表】|【标题/总结】命令,报表窗口增加两个带区:标题和总结。选择文本控件,然后在标题带区单击,输入“学生信息”。选择“标题”区的文本对象(用鼠标单击),在系统菜单中选择
9、【格式】|【字体】命令,系统会打开一个标准的字体对话框,即可以设置文本的各种属性。删除不需要的字段:选择“备注”字段对象,按Delete键。目 录上一页下一页退 出18(3)修改列标题。单击原来的列标题,可选择列标题对象,然后按Delete键删除之。选择文本控件,单击页标题区,添加新的标题。(4)添加表格线 选择线条控件,在页标头区的顶部和底部各画一条横线,每列画一条竖线。选择线条控件,在细节区底部添加一条横线,每列添加一条竖线,注意与页标题区的竖线对直。目 录上一页下一页退 出198.1.6 设计报表 1设置报表数据环境 “数据环境设计器”窗口中的数据源将在每次运行报表时打开,而不必以手工方
10、式打开所使用的数据源 数据环境通过下列方式管理报表的数据源:打开或运行报表时打开表或视图;基于相关表或视图收集报表所需数据集合;关闭或释放报表时关闭表或视图。下面通过实例的方式说明把数据源加入报表数据环境的方法。目 录上一页下一页退 出20【例8-2】为STUDENT数据库设计一个报表:要求打印出学生的学号、姓名、班级、课程名、成绩。本例为该报表设置数据环境。分析分析:因为学号、姓名、班级来自STUD表,课程名来自COURSE表,成绩来自表,所以数据源应包括上述三个表:STUD、COURSE、SC 目 录上一页下一页退 出21操作步骤:(1)打开“报表设计器”生成一个空报表,在系统菜单中选择【
11、显示】|【数据环境】系统打开“数据环境设计器”窗口,如图所示(2)在“数据环境设计”窗口中右击鼠标,从快捷菜单中选择【添加】或在系统菜单中选择【数据环境】【添加】命令 目 录上一页下一页退 出22(3)建立表之间的关系 选择STUD表的“学号”字段,按住鼠标左键拖曳到SC表的“学号”索引上后松开鼠标 同样的方法,建立SC表与COURSE表之间“课程号”之间的关系 选择表的关系(单击表之间的连线),右击鼠标,在快捷菜单中选择【属性】,打开属性窗口后,设置ONETOMANY属性为TRUE(4)保存报表:单击设计器的关闭按钮,系统会打开“保存”对话框,在对话框中输入文件名:“REPORT3”,单击“
12、保存”按钮 目 录上一页下一页退 出232创建报表变量(1)若已经建立了报表,则先可把报表打开,如果没有建立报表,则新建一个报表。(2)选择系统菜单中的【报表】【变量】命令,将弹出如图所示的“报表变量”对话框。目 录上一页下一页退 出24(3)在“变量”框中输入一个变量名。(4)在“要存储的值”框中输入一个变量或其他的表达式,也可以单击后面的按钮,再在弹出的“表达式生成器”中创建一个表达式。(5)还可以从其列出的七种计算方式中选择一种作为该表达式的计算选项。(6)如果需要,也可以为所定义的报表变量设定一个初始值 目 录上一页下一页退 出253添加报表控件 (1)标签控件:用于显示静态文本 添加
13、标签控件方法:在“报表控件”中选择“标签按钮”后,移动鼠标到窗口中的合适位置,单击鼠标左键,出现“”插入点后输入文本信息(2)绘图控件 绘图控件包括线条、矩形和圆角矩形。在“报表控件”中选择相应的绘图控件,然后在报表的一个带区拖曳鼠标,将生成相应的图形。(3)域控件 域控件的添加和布局是报表设计的核心,用于打印表或视图中的字段、变量和表达式的计算结果 目 录上一页下一页退 出26 添加域控件 最方便的做法是右击报表,从快捷菜单中选择【数据环境】命令,打开报表的“数据环境设计器”窗口,选择要使用的表或视图,然后把相应的字段拖曳到报表指定的带区中即可 另一个方法是使用“报表控件”工具栏中的“域控件
14、”按钮。单击该按钮,然后在报表带区的指定位置上单击鼠标,系统将显示一个“报表表达式”对话框 可以在“表达式”文本框中输入字段名、变量名或表达式,也可单击右侧“”按钮,打开“表达式生成器对话框”目 录上一页下一页退 出27 如果添加的是可计算字段,可在图8-18中单击“计算”按钮,打开“计算字段”对话框,如图所示。用户可以选择表达式的计算方法。例如表达式是STUD表的“学号”,在此选择“计数”,则报表时按学号统计记录数。目 录上一页下一页退 出28 定义域控件的格式 双击域控件,可随时打开域控件的“报表表达式”对话框。在“报表表达式”对话框中,单击“格式”文本框后面的按钮,系统弹出“格式”对话框
15、 选定所需的类型,然后选取“编辑选项”区域的有关选项 目 录上一页下一页退 出29 设置打印条件 单击“报表表达式”对 话 框 中“打印条件”按钮,将显示如图所示的“打印条件”对话框“有条件打印”区域中包括三个复选框:“在新页/列的第一个完整信息带内打印”选中,表示在同一页或同一列中不打印重复值,换页或换列后遇到第一条新记录时打印重复值。该复选框只在“打印重复值”选择“否”时有效。“当此组改变时打印”选中,表示当右边的下拉列表中显示的分组发生变化时,打印重复值。该复选框只在“打印重复值”选择“否”并有分组时有效。“当细节区数据溢出到新页/列时打印”复选框选中,表示当细节带区的数据溢出到新页或新
16、列时打印重复值 目 录上一页下一页退 出30(4)添加图片对象 添加图片 在“报表控件”工具栏中单击“图片/ActiveX绑定控件”按钮,在报表的一个带区内单击并拖动鼠标拉出图文框,松开鼠标时将弹出“报表图片”对话框,如图所示。插入文件中的图片:在“图片来源”区域选中“文件”,并输入一个图形文件的位置和名称,或单击文本框右边的“”按钮,打开“打开”对话框,选择一个图片文件 添加图形(通用型)字段:在“报表图片”对话框的“图片来源”区域选择“字段”,在“字段”框中输入字段名,或单击字段框右侧的“按钮来选取字段 目 录上一页下一页退 出31 调整图片 当图片与图文框的大小不一致时,需要在“报表图片
17、”对话框中选择相应的选项来控制图片的显示行为“裁剪图片”:图片将以图文框的大小显示图片“缩放图片,保留形状”:图文框中放置一个完整、不变形的图片在这种情况下,可能无法填满整个图文框“缩放图片,填充图文框”:使图片填满整个图文框,在这种情况下,图片纵横比例可能会改变,从面引起图片的变形 目 录上一页下一页退 出324报表控件操作与布局(1)选择控件:用鼠标单击控件可以选定该控件,被选定的控件四周出现个控点(2)设置控件字体:选择要设置字体的控件,从系统菜单中选择【格式】|【字体】,将打开标准字体对话框(3)调整控件的大小:选定控件,拖动控件四周的某个控点,改变控件的宽度和高度(4)控件布局:利用
18、“布局”工具栏中的按钮,可以方便地调整表单窗口中被选中控件的相对大小或位置 目 录上一页下一页退 出335设计分组报表 一个报表可以设置一个或多个数据分组,组的分隔基于分组表达式 设置分组表达式:从系统菜单中选择【报表】|【数据分组】命令。在“分组表达式”框内键入分组表达式,或者单击“”按钮,在“表达式生成器”对话框中创建表达式 组属性主要用于指定如何分页,在“组属性”区域中有四个复选框,根据不同的报表类型,有的复选取框不可用 目 录上一页下一页退 出346分栏报表 从系统菜单中选择【文件】|【页面设置】命令,弹出如图所示的“页面设置”对话框。在“列”区域,把“列数“微调器的值调整为栏目数,例
19、如列数为2,则将整个页面平均分成两部分,调整列之间的间隔值,如间隔为0.4 设置顺序:在“页面设置”对话框中,单击右面的“自左向右”打印顺序按钮即可 目 录上一页下一页退 出358.1.7 报表输出报表输出 1页面设置 设置左边距 从系统菜单中选择【文件】|【页面设置】命令,打开“页面设置”对话框,在“左页边距”框中输入“左边距”数值,页面布局将按新的页边距显示 打印设置 在“页面设置”对话框中,单击“打印设置”按钮,打开“打印设置”对话框。可以从“大小”列表中选择纸张大小。默认的打印方向为纵向,若要改变纸张的方向,可从“方向”区选择横向,再单击“确定”按钮 目 录上一页下一页退 出362设计
20、时打印与预览报表 可以从系统菜单中选择【显示】|【预览】命令,或在“报表设计器”中单击鼠标右键从弹出的快捷菜单中选择【预览】命令,也可以直接单击“常用”工具栏中的“打印预览”按钮 目 录上一页下一页退 出373程序中调用报表 预览预览 REPORT FORM IN SCREEN/WINDOW 表单名 范围 FOR 条件表达式 打印输入报表打印输入报表 REPORT FORM 范围 FOR 条件表达式 输出到指定的文件输出到指定的文件 REPORT FORM 范围 FOR 条件表达式 目 录上一页下一页退 出388.2 标签的设计与使用标签的设计与使用 在实际应用中并不总是要求数据以表格形式输出
21、,例如个人名片,邮件标签,借书卡片等,往往需要以标签卡片的形式输出某些数据 标签是采用多列报表布局,为匹配特定标签纸而对列作特定设置的报表。目 录上一页下一页退 出398.2.1 标签向导标签向导 启动标签向导:进入项目管理器,在“文档”卡中选中“标签”,而后单击“新建”按钮该对话框用于为标签指定数据源 目 录上一页下一页退 出40选择标签类型:“列”是指沿纸张水平方向打印的标签个数 大小=高*宽目 录上一页下一页退 出41定义标签的布局 在“文本”输入框中可输入任何文字串,例如输入“学生信息卡”,按“添加”按钮可把文字串添加到“选定的字段”框中,成为每张标签上都出现的文字 在“可用字段”框中
22、选中的任何字段,也可以添加到“选中的字段”框 如果想另起一行,可以单击中部的“回车”按钮 目 录上一页下一页退 出42排序 如选择排序字段如“学号”。单击“添加”按钮 目 录上一页下一页退 出438.2.2 标签设计器 进入某项目管理器,选择“文档”卡的“标签”项目,单击“新建”按钮,在“新建标签”对话框中单击“新建标签”按钮 选择标签布局 目 录上一页下一页退 出44“标签设计器”窗口 标签设计器的常规操作与报表设计器完全相同 目 录上一页下一页退 出458.2.3 标签输出 在设计时预览或打印标签的操作与报表相同在程序或命令窗口中打印标签可用下列命令:LABEL FORM 范围FOR 条件WHILE 条件 TO PRINTER在程序或命令窗口中预览标签可用下列命令:LABEL FORM 范围FOR 条件WHILE 条件 PREVIEW