Access基础教程(第三版)第6章报表的建立与打印第6章窗体6.1认识报表6.2创建窗体的其它方式6.3创建子窗体6.4创建多页或多选项卡窗体6.5窗体中的常用控件6.6窗体和控件的属性6.7在窗体上放置控件6.8为控件命名6.1认识报表6.1.1报表的作用报表是以打印的格式表现用户数据的一种有效方式。因为用户控制了报表上每个对象的大小和外观,所以可以按照所需的方式显示信息以便查看信息。报表中的大多数信息来自基础表、查询或SQL语句(它们是报表数据的来源)。报表中的其他信息存储在报表的设计中。通过使用称为控件的图形对象,可以建立报表及其记录来源之间的链接。控件可以是显示名称及编号的文本框,也可以是显示标题的标签,还可以是装饰性的直线,它们可图形化地组织数据,从而使报表更吸引人。6.1认识报表6.1.2报表的类型Access的报表有文字报表、图表报表和标签报表三种形式。每个报表有三种视图:“设计视图”、“打印预览”和“版面预览”。使用“设计视图”可以创建报表或更改已有报表的结构;使用“打印预览”可以查看将在报表的每一页上显示的数据;使用“版面预览”可以查看报表的版面设置,其中只包括报表中数据的示例。要切换视图可通过单击工具栏上的“视图”按钮实现,如果要参阅其他可选视图类型的列表,可单击按钮旁边的箭头,如图6.1所示。6.1认识报表6.1.3报表的节报表中的信息可以分在多个节中。每个节在页面上和报表中具有特定的目的并可以按照预定的次序打印。在设计视图中,节表现为带区形式,并且报表包含的每个节出现一次。在已打印的报表中,某些节可以重复打印多次。通过放置控件(如标签和文本框),用户可以确定每个节中信息的显示位置,如图6.2所示。6.1认识报表报表页眉在一个报表中只出现一次。利用它可以显示徽标、报表标题或打印日期。报表页眉打印在报表第一页页面页眉的前面。页面页眉出现在报表每页的顶部,可以用来显示列标题。主体节包含了报表数据的主体部分。对报表基础记录源的每条记录而言,该节重复出现。页面页脚在报表每页的底部出现,可以利用它显示页号等项目。报表页脚只在报表的结尾处出现一次。如果利用它显示报表合计等项目,则报表页脚是报表设计中的最后一节,但出现在打印报表最后一页的页面页脚之前。通过对共享共同值的记录进行分组,可以计算小计值而使报表更加易于阅读。6.2创建和修改报表Access提供了“自动报表”和“报表向导”两种快捷的报表创建方式。一般地,在创建报表时,我们都是先用“自动报表”或“报表向导”自动生成报表,然后再切换到设计视图对已创建的报表进行修改。6.2.1用“自动创建报表”创建报表利用“自动创建报表”可以创建包含数据来源(基础表或查询)中的所有字段的报表。Access提供了“纵栏式”和“表格式”两种版面。例:图6.3-6.5自动创建表格式报表“学生成绩表”例:图6.6自动创建纵栏式报表“学生成绩表”实例图6.3-6.5实例图6.66.2创建和修改报表6.2.2利用向导创建报表Access提供的“报表向导”可以简单快速地创建各种常用的报表,是创建报表时最常用的方法。例:图6.7-6.15利用“报表向导”创建“学生成绩表”报表实例图6.7-6.156.2.3在设计视图中创建和修改报表设计视图是用来编辑报表视图的。在设计视图中,可以创建新的报表,也可以修改已有报表的设计。利用“自动创建报表”或者“报表向导”建立的报表难免有不尽人意的地方。例:图6.16-6.18修改图6.15“学生成绩表”报表实例图6.16-6.186.2创建和修改报表在设计视图中创建新的报表,可按照下面的步骤操作。(1)在数据库窗口中,选择“在设计视图中创建报表”,单击“设计”按钮,建立一个新的报表。(2)双击如图6.19所示的“报表选定器”打开属性表,在“数据”选项卡的“记录源”列表中选择一个表或查询作为记录来源,如图6.20所示。(3)添加控件并编辑报表,完成报表的设计。6.3报表的排序、分组和计算6.3.1报表的排序与分组利用“报表向导”建立报表时,我们很容易对报表中的记录进行分组和排序。但是,利用“自动报表”建立的报表,主体中的记录是不分组排序的,利用设计视图建立报表时,也需要对记录进行分组和排序。在Access的报表中最多可以设置10级分组。例:图6.21-6.22对图6.5所示报表进行分组实例图6.21-6.226.3报表的排序、分组和计算6.3.2报表的计算用户往往需要对报表中的数据信息进行汇总统计,利用“报表向导”建立报表时可以通过“汇总选项”来实现汇总。下例为在设计视图中对报表进行汇总。例:图6.23-6.27对例图6.21-6.22报表进行计算步骤:1.在报表中计算机所有记录或一组记录的总计值或平均值2.在报表主体中对一个记录的计算3.对记录进行编号和计数实例图6.23-6.276.4创建图表报表报表中常常需要使用图表直观地描述数据。图表可以由“图表向导”生成,也可以在设计视图中插入。例:图6.28-6.30利用“图表向导”生成图表步骤:(1)报表的数据来源选择“学生成绩表”,用于图表的字段选择“姓名”和“学分”字段,图表的类型选择“柱形图”(2)指定数据在图表中的布局方式(3)指定图表标题,确定是否显示图例实例图6.28-6.306.5创建标签标签是一种常用的报表,如信封和卡片等都是不同形式的标签。Access提供了功能完备的标签向导,可以很容易地利用基本表或查询中的数据建立各种类型的标签。例:图6.31-6.33学生档案表标签及创建过程实例图6.31-6.336.6打印报表和创建多列报表1.页面设置和打印报表完成报表设计后,如果需要打印报表还必须对报表进行页面设置,使报表符合打印机和纸张的要求。在任意视图中打开报表,在“文件”菜单中选择“页面设置”,打开“页面设置”对话框。这个对话框中有三个标签,“边距”、“页”和“列”。在“边距”选项卡中有两项设置,“页边距”用于设置打印时纸张四周的留白,如果选中“只打印数据”,则打印时不包含报表的标题和装饰性的图形控件;在“页”选项卡中设置打印方向、纸张的大小和来源,并选择打印机;“列”选项卡中设置列数、行间距和列布局,如图6.31所示的标签和图6.34的报表列数都是“2”,它们都是多列报表。完成了页面设置,就可以在“文件”菜单里选择“打印”命令来打印报表了。6.6打印报表和创建多列报表2.创建多列报表有时候报表中的信息很短,这时就需要将报表分成多列打印,这就是多列报表,如图6.34所示。例:图6.34-6.36多列报表的创建过程实例图6.34-6.366.7创建和链接子报表前面讲到的报表都只有一个数据来源,有时在一个要用到来自多个表或查询的数据时,可以通过在一个报表中链接两个或多个报表的方法实现,这时链接的报表是主体,称为主报表,被链接的报表称为子报表。也可以将从同一数据来的两个或多个报表链接在一起生成新的报表。例:图6.37子报表(打印预览)实例图6.37实际上,创建包含多个数据来源的报表,就是分别创建主报表和子报表,然后将子报表以控件的形式添加到主报表中。6.8报表快照和SnapshotViewer1.报表快照可以将报表从数据库中导出,生成一个扩展名为.snp的文件,这就是报表快照。快照是报表的副本,其中包含快照生成时报表中的全部内容,但是不会随着报表的改变而改变。在“数据库”窗口中,单击要导出的报表的名称,然后单击“文件”菜单中的“导出”,“保存类型”框中选择SnapshotFormat(*.snp),就可以创建一个报表快照。报表快照使得报表可以脱离Access独立分发。不需要复印并邮寄已经打印好的报表,通过电子邮件或Web浏览器就可以进行电子分发和发布。用户能够简单迅速地联机查看报表,并打印出自己所需要的内容。使用报表快照,可以节省可观的时间和金钱,对于分发包含颜色和图像(如图表和图片)的报表也非常适用。6.8报表快照和SnapshotViewer2.SnapshotViewerSnapshotViewer(快照查看器)是一个可以用来查看、打印以及邮寄快照的程序(如报表快照)。可以使用Access的安装程序来安装SnapshotViewer,也可以通过Internet下载安装。SnapshotViewer中还包含一个SnapshotViewer控件(Snapview.ocx)。可通过支持ActiveX的浏览器(如IE3.0级以上版本)直接查看快照,而不需要安装Access,也不需要Access许可。6.8报表快照和SnapshotViewer3.在Internet上发布报表快照在Internet上发布报表快照的一种方法是在Web页上创建对报表快照的链接。例如:AHREF=学生成绩表.snp学生成绩表/A可以在浏览器中下载报表快照,还可以在安装了SnapshotViewer控件的浏览器中直接打开报表快照。使用HTMLObject标记在Web页上嵌入SnapshotViewer控件还可以在网页中插入报表快照。在Web页上最好提供一个到SnapshotViewer软件下载页的附加链接,以方便没有安装SnapshotViewer的用户下载并安装。本章小结本章的主要内容是创建与打印报表。通过对本章的学习,读者应该认识Access的报表,并且掌握创建报表的方法。建立一个报表,一般要先利用“自动创建报表”或者“报表向导”创建报表,再进入报表设计视图编辑已有的报表,要熟练掌握创建和编辑报表的过程和方法。报表的排序、分组和计算是建立报表时经常用到的,是报表设计中比较复杂的问题,需要通过上机反复实践来体会。报表快照是发布报表的方法,本章只做了简单的介绍,一般性地了解就可以了。