报表是专门为打印而设计的窗体。不同之处在于窗体可以与用户进行信息交互,而报表没有交互功能。本章主要介绍报表的一些基本应用操作,如报表的创建、报表的设计及报表的存储和打印等内容。建立报表和建立窗体的过程基本一样,只是窗体最终显示在屏幕上,而报表还可以打印在纸上。
6.1 报表概述
报表是数据库数据输出的一种对象。建立报表是为了以纸张的形式保存或输出数据。利用报表可以控制数据内容的大小和外观,排序、汇总相关数据,输出数据到屏幕或打印设备上.
6。1.1 报表的定义及分类
1.报表的定义
报表是Access数据库的对象之一,主要作用是比较和汇总数据,显示经过格式化且分组的信息,并可以将它们打印出来。
2.报表的分类
报表主要分为以下4种类型:纵栏式报表、表格式报表、图表报表和标签报表。下面分别进行说明。
(1)纵栏式报表 纵栏式报表(也称为窗体报表)一般是在一页的主体节内以垂直方式显示一条或多条记录。这种报表可以显示一条记录的区域,也可同时显示多条记录的区域,甚至包括合计。
(2)表格式报表
表格式报表以行和列的形式显示记录数据,通常一行显示一条记录、一页显示多行记录。表格式报表与纵栏式报表不同,字段标题信息不是在每页的主体节内显示,而是在页面页眉显示。
可以在表格式报表中设置分组字段、显示分组统计数据。 (3)图表报表
图表报表是指在报表中使用图表,这种方式可以更直观地表示出数据之间的关系。不仅美化了报表,而且可使结果一目了然。
(4)标签报表
标签是一种特殊类型的报表。在实际应用中,经常会用到标签,例如,物品标签、客户标签等。
在上述各种类型报表的设计过程中,根据需要可以在报表页中显示页码、报表日期甚至使用直线或方框等来分隔数据.此外,报表设计可以同窗体设计一样设置颜色和阴影等外观属性.
1
6。1。2报表的视图
在Access中,报表操作提供了3种视图:“设计”视图、“打印预览\"视图和“版面预览”视图。“设计”视图用于创建和编辑报表的结构;“打印预览”视图用于查看报表的页面数据输出形态;“版面预览\"视图用于查看报表的版面设置。
3个视图的切换可以通过“报表设计”工具栏中“视图”工具按钮右侧下拉菜单中的3个按钮:“设计”视图、“打印预览”视图和“版面预览”视图来进行选择。
6.1。3 报表的结构
在报表的“设计”视图中,区段被表示成带状形式,称为“节”.报表中的信息可以安排在多个节中,每个节在页面上和报表中具有特定的目的并按照预期顺序输出打印。与窗体的“节\"相比,报表区段被分为更多种类的节。
1。 报表页眉 在报表的开始处,即报表的第一页打印一次。用来显示报表的标题、图形或说明性文字,每份报表只有一个报表页眉.一般来说,报表页眉主要用在封面。
2。 页面页眉
页面页眉中的文字或控件一般输出显示在每页的顶端.通常,它是用来显示数据的列标题.
可以给每个控件文本标题加上特殊的效果,如颜色、字体种类和字体大小等。
一般来说,把报表的标题放在报表页眉中,该标题打印时在第一页的开始位置出现.如果将标题移动到页面页眉中,则该标题在每一页上都显示。
3。 组页眉
根据需要,在报表设计5个基本的“节”区域的基础上,还可以使用“排序与分组”属性来设置“组页眉/组页脚”区域,以实现报表的分组输出和分组统计.组页眉节主要安排文本框或其它类型控件显示分组字段等数据信息.
可以建立多层次的组页眉及组页脚,但不可分出太多的层(一般不超过3 ~ 6层)。 4. 主体
打印表或查询中的记录数据,是报表显示数据的主要区域。根据主体节内字段数据的显示位置,报表又划分为多种类型。
5。 组页脚
组页脚节内主要安排文本框或其他类型控件显示分组统计数据。打印输出时,其数据显示在每组结束位置。
在实际操作中,组页眉和组页脚可以根据需要单独设置使用。可以从“视图”菜单中选择“排序与分组\"选项。
6. 页面页脚
一般包含页码或控制项的合计内容,数据显示安排在文本框和其他的一些类型控件中.在报表每页底部打印页码信息。
7。 报表页脚
该节区一般是在所有的主体和组页脚输出完成后才会打印在报表的最后面.通过在报表页脚区域安排文本框或其他一些类型控件,可以显示整个报表的计算汇总或其他的统计数字信息。
2
6.2 创建及编辑报表
在Access中,可将数据库中的表和查询生成报表,主要提供了3种创建报表的方式:使用“自动报表”功能、使用向导功能和使用“设计”视图创建。与窗体创建过程一样,一般可以首先使用“自动报表”或向导功能快速创建报表结构,然后再在“设计”视图环境中对其外观、功能加以“修缮\",这样可以大大提高报表设计的效率.
6.2。1 使用报表向导创建报表
1.使用“自动报表”创建报表
“自动报表”功能是一种快速创建报表的方法.设计时,先选择表或查询作为报表的数据源,然后选择报表类型:纵栏式或表格式,最后会自动生成报表显示数据源所有字段记录数据。
【例6.1】在JXGL。mdb数据库中使用“自动报表”创建学生信息报表。
①在Access中打开数据库文件;在“数据库”窗体中单击“报表\"对象,再单击“数据库”窗体工具栏中的“新建\"按钮。
②在图6。1所示对话框中,选择“自动创建报表”的形式,有纵栏式和表格式两种,这里选择“自动创建报表:纵栏式”.
③在“请选择该对象数据的来源表或查询\"框内选择“学生”表。
图6。1自动创建报表对话框
④ 单击“确定\"按钮,即自动生成一个报表.如图6。2所示。 ⑤ 选择“文件\"菜单中的“保存”命令,命名存储该报表.
此外,选定一个表或查询对象,可以通过在“插入”菜单中或“数据库\"工具栏上选择“自动报表”命令选项直接创建纵栏式显示报表.这种方法创建出的报表只有主体区.
图6。2 纵栏式报表
2.使用“报表向导”创建报表
“报表向导”会提示用户输入相关的数据源、字段和报表版面格式等信息,根据向导提示可以完成大部分报表设计基本操作,加快了创建报表的过程。
【例6.2】以JXGL。mdb数据库文件中已存在的“学生成绩查询表”查询对象为基础,利用向导创建“学生成绩查询报表”.
① 数据库窗体中单击“报表”对象,在右侧的窗体中双击“使用向导创建报表”选项。 ② 这时屏幕显示“报表向导\"对话框,与窗体一样,报表也需要选择一个数据源,数据源可以是表或查询对象。这里,选择“学生成绩查询\"作为数据源,如图6。3所示。
③ 在“可用字段”列表框中列出数据源的所有字段,从“可用字段”列表字段中,选择需要的报表字段,单击按钮,它就会显示在“选定的字段”列表中.当用户选择合适的字段后,单击“下一步\"按钮。
④如图6。4所示,在确定子数据的查看方式后。然后单击“下一步\"按钮。
⑤这时屏幕显示如图6。5所示对话框。当定义好分组之后,用户可以指定主体记录的排序次序。单击“汇总选项\"按钮,如图6。6所示。这时屏幕显示“汇总选项\"对话框,指定计算汇总值的方式,然后按“确定”按钮.
图6.3报表向导
图6.4 确定查看数据方式 图6.5 确定是否添加分组级别
3
图6。6 确定汇总及排序信息
⑥单击“下一步\"按钮,如图6。7所示。用户可以选择报表的布局样式。单击“下一步\"按钮,如图6。8所示。用户选择报表标题的文字样式.
⑦ 单击“下一步\"按钮,这时屏幕显示“报表向导\"最后一个对话框,如图6.9所示.按要求给出报表标题后,单击“完成”按钮。这样可以得到图6。10由向导设计的初步报表,用户可以使用垂直和水平滚动条来调整预览窗体.
在报表向导设计出的报表基础上,用户还可以做一些修改,以得到一个完善的报表。
图6.7 确定布局方式 图6。8确定所用样式 图6.9 指定标题 图6。10 报表预览
3.使用“图表向导\"创建报表
在Access中可以应用“图表向导”将数据以图表形式显示出来。
【例6.3】 使用“图表向导”创建图6。14所示“各职称教工人数”图表报表。
①在数据库窗口的“报表\"对象下,单击“新建\"按钮,在“新建报表”的窗体中,选择“图表向导”,并指定具体的数据源,这里,选择“各职称教工人数\"作为数据源,并单击“确定”按钮。
② 这时屏幕显示如图6.11所示的“图表向导”,选择需要的字段数据,然后单击“下一步\"按钮。
图6。11 选择所需字段
③此时显示如图6。12所示,选择图表的类型,这里选择“柱形图\",然后单击“下一步”按钮.
图6。12 选择图标类型
④此时需要确定布局图表数据的方式,这里以“职称\"为横坐标,以“各职称人数\"为纵坐标,然后单击“下一步\"按钮。
⑤在如图6。13所示对话框中指定图表的标题,这里输入“教工各职称统计表”,然后单击“完成”按钮.结果如图6.14所示。
如果用户对使用向导生成的图表向导不满意,可以在“设计”视图中对其进行进一步修改和完善。
图6.13 指定标题 图6。14报表预览
4.使用“标签向导\"创建报表
在日常工作中,可能需要制作“物品”标签之类的标签。比如超市的商品都必须贴上相关的价格标签。在Access中,用户可以使用“标签向导”快速地制作标签报表。
【例6。4】制作以图所示标签报表。操作步骤如下: ① 在Access数据库中,单击“报表”对象.
② 单击“新建”按钮.在“新建报表”对话框中,单击“标签向导”按钮.
③ 选择包含标签数据的数据源,在“新建报表”对话框下面的列表框中,单击右侧的箭头,选择“学生表\"作为报表的数据源。
④ 单击“确定”按钮,系统显示“标签向导\"对话框,如图6.15所示.在该对话框中,可以选择标准型号的标签,也可以自定义标签的大小.可以创建和编辑自己所需的标签格式,然后单击“下一步”按钮。
⑤ 选择标签中字体的属性,在此可以根据自己的爱好选择适当的字体及字体的大小、粗细和颜色,然后单击“下一步”按钮.
4
⑥在此对话框中,用户可在“原型标签”中输入需要显示的文字和字段,如图6.16所示,确定输入正确后,单击“下一步”按钮。
图6.15 标签向导 图6.16确定标签内容
⑦此对话框要求用户选择“按哪个字段进行排序\",这里选择学生“学号\",然后单击“下一步”按钮.
⑧ 此对话框要求输入报表的标题,选择默认标题后单击“完成\"按钮。按要求创建了“学生”标签,如图6。17所示.
如果最终的标签报表没有达到预期的效果,可以删除该报表然后重新运行“标签向导\进行修改。
图6。17 标签报表
6。2.2 使用报表“设计\"视图创建报表
除可以使用自动报表和向导功能创建报表外,Access中还可以从“设计”视图开始从无到有创建一个新报表,主要操作过程有:创建空白报表并选择数据源;添加页眉页脚;布置控件显示数据、文本和各种统计信息;设置报表排序和分组属性;设置报表和控件外观格式、大小位置和对齐方式等。
1.创建报表
【例6。5】使用“设计”视图来创建如图所示“学生成绩表”表格式报表。
① 在“数据库”窗体中,选择“报表”对象,单击工具栏上“新建”按钮,显示“新建报表\"对话框。
②在“新建报表”对话框中选择“设计视图”或者双击“在设计视图中创建报表”,确定后都会打开一个空白报表,如图6。18所示。
图6。18 创建空白报表
③ 用鼠标右键单击报表左上角按钮,从中选择“属性”选项打开报表的“属性\"对话框;或单击选项中的属性按钮。在如图6.19所示的报表属性对话框中单击“数据”选项卡,设置“记录源\"属性为“查询:学生成绩查询”,并弹出相关字段列表窗口。
图6。19 设置报表记录源
④ 从“视图\"菜单中选择“报表页眉/页脚”选项,或在报表设计区右键点击弹出快捷菜单,从中选择“报表页眉/页脚”选项,在报表中会添加报表的页眉和页脚节。
⑤在报表页眉节中添加一个标签控件,输入标题为“学生成绩”,并设置标签格式 ⑥在字段列表中选择“学号\"、“姓名”、“课号”和“成绩”4个字段拖到报表主体节区里.如图6。20所示。
图6。20选择报表字段
⑦将主体节的标签控件移到页面页眉节区,然后调整各个控件的布局和大小、位置及对齐方式等。
⑧ 修正报表页面页眉节和主体节的高度,以合适的尺寸容纳其中包含的控件
⑨ 利用“打印预览\"工具查看报表显示,如图6。21所示,然后以“学生成绩表\"命名保存报表.
在设计过程中,如果控件版面布局按照纵向布置显示,则会设计出纵栏式报表。
图6。21 报表预览
5
6。2。3在报表中排序和分组
在默认情况下,报表中的记录是按照自然顺序、即数据的输入的先后顺序来排列显示的。在实际应用过程中,经常需要按照某个指定的顺序来排列记录,例如,按照年龄从小到大排列等,称为报表“排序”操作。此外,报表设计时还经常需要就某个字段按照其值的相等与否划分成组来进行一些统计操作并输出统计信息,这就是报表的“分组”操作.
(1) 记录排序 使用“报表向导”创建报表时,操作到图所示步骤会提示设置报表中的记录排序,这时,最多可以对4个字段进行排序.“报表向导”中设置字段排序,限制最多一次设置4个字段,并且限制排序只能是字段,不能是表达式。实际上,一个报表最多可以安排10个字段或字段表达式进行排序。
【例6。6】在“教工信息表”报表设计中按照教师“工作时间”由早到晚进行排序输出。具体操作步骤如下:
① 在“设计”视图打开该报表。
②单击“视图\"菜单中选择“排序与分组”选项或单击工具栏上的“排序与分组”按钮打开“排序与分组\"对话框。
③在“排序与分组”对话框中,选择第一排序依据及其排序次序(升序或降序);这里,单击“字段/表达式”列的第一行并选择第一排序字段为“工作时间”,设置“排序次序\"列的值为“升序”;如果需要可以在第二行设置第二个排序字段,依此类推设置多个排序字段。如图6.22所示。
在报表中设置多个排序字段时,先按第一排序字段值排列,第一排列字段值相同的记录再按第二排序字段值去排列,依此类推.
单击工具栏上的“打印预览”按钮,对排序数据进行预览,如图6.23所示。
图6。22排序与分组 图6。23 报表预览
(2)记录分组
分组是指报表设计时按选定的某个(或几个)字段值是否相等而将记录划分成组的过程。操作时,先选定分组字段,在这些字段上字段值相等的记录归为同一组,字段值不等的记录归为不同组。
报表通过分组可以实现同组数据的汇总和显示输出,增加了报表的可读性和信息的利用.一个报表中最多可以对10个字段或表达式进行分组。
【例6.7】设计图所示报表对学生成绩进行分组统计。
① 双击“在设计视图中创建报表”.设置其数据源属性为查询“学生成绩查询”,然后将“学号”、“姓名\"、“课程名称”和“成绩”字段拖至报表,设置其标题属性为“学生成绩汇总表\",如图6。24所示。
②单击“视图\"菜单中选择“排序与分组\"选项或单击工具栏上的“排序与分组\"按钮,打开“排序与分组”对话框.
③在“排序与分组\"对话框中,单击“字段与表达式”列的第一行,选择“学号”字段作为分组字段,保留排序次序为“升序\"。
④在“排序与分组\"对话框下部设置分组属性,“组页眉”属性设置为“是\",以显示组页眉节;“组页脚”属性设置为“是”,以显示组页脚节;“分组形式”属性设置为“每一个值\",以“编号”字段的不同值划分组;“组间距”属性设置为“1\",以指定分组的间隔值;“保持同页”属性设置为“不”,以指定打印时组页眉、主体和组页脚不在同页上;若设置为“整个组\",则组页眉、主体和组页脚会打印在同一页上。此时,“排序与分组”对话框显示
6
状态如图6.25所示。
图6。24 报表布局
图6。25 设置报表与分组属性
⑤设置完分组属性后,会在报表中添加组页眉和组页脚两个节区,分别用“学号页眉”和“学号页脚”来标识;将主体节内的“学号”和“姓名”两个文本框移至“学号页眉”节,如图6.26所示。
⑥单击工具栏上的“打印预览”按钮,预览上述排序数据,如图6.27所示。
在报表分组操作设置字段“分组形式\"属性时,属性值的选择是由分组字段的数据类型决定的。
对已经设置排序的分组的报表,可以进行以下操作:添加排序、分组字段或表达式,删除排序、分组字段或表达式,更改排序、分组字段或表达式。
图6.26 设置报表布局 图6。26 报表预览
6。2。4使用计算控件
(1)在报表中添加计算控件
报表设计过程中,除在版面上布置绑定控件直接显示字段数据外,还经常要进行各种运算并将结果显示出来。例如,报表设计中页码的输出、分组统计数据的输出等均是通过设置绑定控件的控件源为计算表达式形式而实现的,这些控件就称为“计算控件\".
计算控件的控件源是计算表达式,当表达式的值发生变化时,会重新计算结果并输出显示。文本框是最常用的计算控件。
【例6。8】 在“教工表”报表设计中根据教工“出生日期”字段值使用计算控件来计算教工年龄。
①使用前述设计方法,设计出以“教工表”为数据源的一个表格式报表,如图6.27所示。
图6。27 教工报表
②将页面页眉节内的“出生日期”标签标题更改为“年龄”,将主体节内的“出生日期”绑定文本框,打开其“属性”窗体,选择“数据”选项卡,设置“控件源\"属性为计算年龄的表达式为“ = Year( Date() ) – Year([ 出生日期 ])”,并取消“格式\"选项卡中格式的显示方式,如图6.28所示。
图6。28 设置计算控件的“控件源”属性
注意:计算控件的控件来源必须是“ = \"开头的一个计算表达式。
③单击工具栏上的“打印预览”按钮,预览报表中计算控件显示,如图6。29所示。命名保存报表。
图6。29 报表预览
(2)报表统计计算 报表设计中,可以根据需要进行各种类型统计计算并输出显示,操作方法就是使用计算控件设置其控件源为合适的统计计算表达式。
在Access中利用计算控件进行统计计算并输出结果操作主要有两种形式: ①主体节内添加计算控件
在主体节内添加计算控件对每条记录的若干字段值进行求和或求平均计算时,只要设置计算控件的控件源为不同字段的计算表达式即可.例如,当在一个报表中列出学生3门课“计算机实用软件”、“英语”和“高等数据”的成绩时,若要对每位学生计算3门课的平均成绩,只要设置新添计算控件的控件源为“ = ( [计算机实用软件] + [英语] + [高等数据] ) /
7
3 ”即可.
这种形式的计算还可以前移到查询设计中,以改善报表操作性能。若报表数据源为表对象,则可以创建一个选择查询,添加计算字段完成计算;若报表数据源为查询对象,则可以再添加计算字段完成计算。
②组页眉/组页脚节区内或报表页眉/报表页脚节区内添加计算字段
在组页眉/组页脚节区内或报表页眉/报表页脚节区内添加计算字段对某些字段的一组记录或所有记录进行求和或求平均统计计算时,这种形式的统计计算一般是对报表字段列的纵向记录数据进行统计,而且要使用Access提供的内置统计函数(Count函数完成计数,Sum函数完成求和,Avg函数完成求平均)来完成相应计算操作。例如,要计算上述报表中所有学生的“英语”课程的平均分成绩,需要在报表页脚节内对应“英语\"字段列的位置添加一个文本框计算控件,设置其控件源属性为“ =Avg([英语])\"即可。
如果是进行分组统计并输出,则统计计算控件应该布置在“组页眉/组页脚”节区内相应位置,然后使用统计函数设置控件源即可.
6.2。5 使用设计器编辑报表
(1)用预定义格式来设置报表的格式
Access提供了6种预定义 的报表格式:大胆、正式、淡灰、紧凑、组织、随意。使用“自动套用格式”来改变报表的格式,步骤如下:
①在“设计”视图中打开要进行格式更改的报表,选定要更改格式的部分,既可以是整个报表,也可以是某个节或控件。
②在工具栏上单击“自动套用格式”。
③ 在报表自动套用格式中选定一种所需的格式。如果要另外指定字体、颜色等属性,可单击“选项\"按钮;选择“自定义\"按钮,自行定义一种格式。如图6.30所示的对话框.
图6。30 自定义自动套用格式
(2)添加分页符和页码 (1)在报表中添加分布符 在报表中,可以在某一节中使用分页控件控制符来标志要另起一页的位置。具体操作步骤如下:
①在“设计”视图打开报表。
② 单击工具箱中的“分页符\"按钮。
③ 选择报表中需要设置分页符的位置然后单击,分页符会以短虚线标志在报表的左边界上。
注意:分页符应设置在某个控件之上或之下,以免拆分了控件中的数据。如果要将报表中的每个记录或记录组都另起一页,可以通过设置组标头、组注脚或主体节的“强制分布\"属性来实现。
(2)在报表中添加页码 具体操作步骤如下:
①在“设计\"视图打开报表.
② 单击“插入”菜单中的“页码”命令.
③ 在“页码”对话框中,根据需要选择相应的页码格式、位置和对齐方式.对齐方式有下列选项:
左:在左页边距添加文本框;
中:在左右页边距的正中添加文本框;
8
右:在右页边距添加文本框;
内:在左、右边距之间添加文本框,奇数页打印在左侧,而偶数页打印在右侧; 外:在左、右页边距之间添加文本框,偶数页打印在左侧,奇数页打印在右侧。 ④ 如果要在第一页显示页码,选中“在第一页显示页码\"复选框。 (3)使用节修改报表的布局 报表中的内容是以节划分的。每一个节都有其特定的目的,而且按照一定的顺序打印在页面及报表上.
在“设计\"视图中,节代表各个不同的带区,每一节只能被指定一次。在打印报表中,某些节可以批定很多次,可以通过放置控件来确定在节中显示内容的位置。
通过对属性值相等的记录进行分组,可以进行一些计算或简化报表使其易于阅读。 (1) 添加或删除报表页眉、页脚和页面页眉、页脚
选择“视图”菜单上的“报表页眉/页脚”命令或“页面页眉/页脚”命令来操作.
页眉和页脚只能作为一对同时添加.如果不需要页眉或页脚,可以将不要的节的“可见性”属性设为“否”,或者删除该节的所有控件,然后将其大小设置为“0”或将其“高度”属性设置为“0”。
如果删除页眉和页脚,Access将同时删除页眉、页脚中的控件. (2) 改变报表的页眉、页脚或其他节的大小
可以单独改变报表上各个节的大小。但是,报表只有惟一的宽度,改变一个节的宽度将改变整个报表的宽度.
可以将鼠标放在节的底边(改变高度)或右边(改变宽度)上,上下拖动鼠标改变节的高度,或左右拖动鼠标改变节的宽度.也可以将鼠标放在节的右下角上,然后沿对角线的方向拖动鼠标,同时改变高度和宽度.
(3) 为报表中的节或控件创建自定义颜色
如果调色板中没有需要的颜色,用户可以利用节或控件的属性表中的“前景颜色\"(对控件中的文本)、“背景颜色”或“边框颜色”等属性并配合使用“颜色”对话框来进行相应属性的颜色设置。
(4)在报表上绘制线条和矩形 在报表设计中,经常还会通过添加线条或矩形来修饰版面,以达到一个更好的显示效果。 (1)在报表上绘制线条
在报表上绘制线条的具体操作步骤如下: ①在“设计”视图中打开报表。 ② 单击工具箱中的“线条”工具.
③ 单击报表的任意处可以创建默认大小的线条,或通过单击并拖动的方式可以创建自定义大小的线条.
如果要细微调线条的长度或角度,可以单击线条,然后同时按下Shift键和方向键中的任意一个。如果要细微调整线条的位置,则同时按下Ctrl键和方向键中的一个。
利用“格式”工具栏中的“线条/边框宽度\"按钮和“属性”按钮,可以分别更改线条样式(实线、虚线和点划线)和边框样式。
(2)在报表上绘制矩形
在报表上绘制矩形的具体操作步骤如下:
①在“设计\"视图中打开报表,单击工具箱中的“矩形\"工具。
② 单击窗体或报表的任意处可以创建默认大小的矩形,或通过单击并拖动的方式创建自定义大小的矩形.
利用“格式”工具栏中的“线条/边框宽度\"按钮和“属性”按钮,可以分别更改线条样
9
式(实线、虚线和点划线)和边框样式.
(5)添加日期和时间
在报表“设计”视图中给报表添加日期和时间.操作步骤如下: ①“设计”视图打开报表。
② 单击“插入”菜单中的“日期和时间\"命令。
③ 在打开的“日期和时间”对话框中,选择显示日期还是时间及显示格式,单击“确定\"按钮即可。
此外,也可以在报表上添加一个文本框,通过设置其“控件源”属性为日期或时间的计算表达式(例如,=Date() 或 =Time() 等)来显示日期与时间。该控件位置可以安排在报表的任何节区里。
6。3创建子报表
子报表是插在其他报表中的报表。在合并报表时,两个报表的一个必须作为主报表,主报表可以是绑定的也可以是非绑定的,也就是说,报表可以基于数据表、查询或SQL语句,也可以不基于其他数据对象.非绑定的主报表可作为容纳要合并的无关联子报表的“容器\"。
主报表可以包含子报表,也可以包含子窗体,而且能够包含多个子窗体和子报表.
在子报表和子窗体中,还可以包含子报表或子窗体。但是,一个主报表最多只能包含二级子窗体或子报表.例如,某个报表可以包含一个子报表,这个子报表还可以包含子窗体或子报表。
6。3。1在已有的报表中创建子报表
在创建子报表之前,首先要确保主报表和子报表之间已经建立了正确的联系,这样才能保证子报表中记录与主报表中的记录之间有正确的对应关系。
【例6。9】在“学生表\"主报表中增添“选课成绩信息”子报表.
①利用前面的报表创建方法首先创建基于“学生表\"数据源的主报表,并适当调整其控件布局,和纵向外观显示,如图6。31所示。注意:在主体节下部要为子报表的插入预留出一定的空间.
图6。31 主报表设计视图
②在“设计”视图下,确保工具箱已显示出来,并使“控件向导”按钮按下,然后单击工具箱中的“子窗体/子报表”工具.
③在子报表的预留插入区选择一插入点单击,这时屏幕显示“子报表向导\"对话框,如图6。32所示.在该对话框中需要选择子报表的“数据来源”,如果选择“使用现有的表和查询”选项,创建基于表和查询的子报表;如果选择“使用现有的报表和窗体”选项,创建基于报表和窗体的子报表。这里选择“使用现有的表和查询”选项,单击“下一步”按钮.
④这时屏幕显示如图6。33所示的对话框,在此选择子报表的数据源表或查询,再选定子报表中包含的字段,可以从一个或多个表或查询中选择字段.
这里,分别将“课程表”表中的“课程名称\"和“选课表\"表中的“成绩\"作为子报表的字段选入“选定字段”列表中,单击“下一步”按钮.
⑤这时屏幕显示如图6。34所示的对话框,在此确定主报表与子报表的链接字段,可以从列表中选,也可以用户自定义.这里,选取“从列表中选择”选项,并在下面列表项中选择“对学生表中的每个记录用编号显示选课表\"项,单击“下一步\"按钮。
10
⑥如果每个子报表都有一个与其主报表相同的字段,那么可以在主报表内增加并链接多个子报表。这时屏幕显示如图6。35所示的“子报表向导”最后一个对话框,在此为子报表指定名称。这里,命名子报表为“选课成绩子报表”,单击“完成”按钮.
⑦单击工具栏上的“打印预览\"按钮,预览报表显示,命名并保存报表。
图6。32 选择数据源 图6。33 确定字段 图6.34 自定义链接字段
图6.35指定名称
6.3.2添加子报表
在Access数据库中,可以将某个已有报表(作为子报表)添加到其他已有报表(作为主报表)中,具体操作步骤如下:
①在“设计”视图中,打开作为主报表的报表.
②确保工具箱中的“控件向导”按钮已经按下。按F11键切换到数据库窗口。
③将报表或数据表从“数据库”窗口拖动到主报表中需要插入子报表的节区,这样,Access数据库就会自动将子报表控件添加到报表中.调整、预览并保存报表.
注意:子报表在链接到主报表之前,应当确保已经正确地建立了表间关系。
6。3。3链接主报表和子报表
通过“报表向导”或“子报表向导”创建子报表,在某种条件下(例如,同名字段自动链接等)Access数据库会自动将主报表与子报表进行链接。但如图主报表和子报表不满足指定的条件,则可以通过下列方法来进行链接:
①在“设计”视图中,打开主报表.
②选择“设计\"视图中的子报表控件,然后单击工具栏上的“属性”按钮,打开“子报表属性”对话框.
③在“链接子字段\"属性框中,输入子报表中“链接字段”的名称,并在“链接主字段\"属性框中,输入主报表中“链接字段”名称。在“链接子字段\"属性框中给的不是控件的名称而是数据源中的链接字段名称.
如果难以确定链接字段,可以打开其后的“生成器”工具去选择构造。 ④单击“确定”按钮,完成链接字段设置。
注意:设置主报表/子报表链接字段时,链接字段并不一定要显示在主报表或子报表上,但必须包含在主报表/子报表的数据源中。
6。4 创建多列报表
前面已经介绍过使用“标签向导\"创建标签报表的方法.实际上,Access数据库也提供了创建多列报表的能力。多列报表最常用的是标签报表形式,此外,也可以将一个设计好的普通报表设置成多列报表。
设置多列报表的操作步骤如下: ①创建一个普通报表
在打印时,多列报表的组页眉、组页脚和主体节将占满整个列的宽度。例如,如果要打
11
印4列数据,要将控件放在一个合理宽度范围内.
②单击“文件”菜单中的“页面设置\"命令,显示“页面设置”对话框。 ③在“页面设置”对话框中,单击“列\"选项卡。
④在“网格设置\"标题下的“列数\"框中输入每一页所需的列数,这里,设置“列数”为4。 ⑤在“行间距”属性中可以输入“主体\"节中每个标签记录之间的垂直距离。在“列间距”对话框中,输入各标签列之间的距离。在“列尺寸\"标题下的“宽度”框中输入单个标签的列宽;在“高度\"框中输入单个标签的高度值。用户也可以用鼠标拖动节的标尺来直接调整“主体”节的高度。
⑥在“列布局\"标题下选择“行列后行”或“先行后列\"选项设置列的输出布局。
⑦单击“页”选项卡,在“页”选项卡的“打印方向\"标题下单击“纵向”或“横向\"选项来设置打印方向。单击“确定”按钮,完成报表设计。预览、命名保存设计报表。
6.5 报表的预览和打印
预览报表可显示打印页面和版面,这样可以快速查看报表打印结果的页面布局,并通过查看预览报表的每页内容,在打印之前确认报表数据的正确性。
打印报表则是将设计报表直接送往选定的打印设备进行打印输出。 按照需要可以将设计报表以对象方式命名保存在数据库中。
6。5。1 预览报表
(1) 预览报表的页面布局 通过“版面预览\"可以快速检查报表的页面布局,因为Access数据库只是使用基表中的数据或通过查询得到的数据来显示报表版面,这些数据只是报表上实际数据的示范。如果要审阅报表中的实际数据,可以使用“打印预览”的方法.
在报表“设计\"视图中,单击工具栏中的“视图”按钮右侧的向下箭头,然后单击“版面预览”按钮.
如果选择“版面预览”按钮,对于基于参数查询的报表,用户不必输入任何参数,直接单击“确定\"按钮即可,因为Access数据库将会忽略这些参数.
如果要在页之间切换,可以使用“打印预览\"窗体底部的定位按钮。如果要在当前页中移动,可以使用滚动条.
(2) 预览报表中的数据
在“设计”视图中预览报表的方法是在“设计”视图中,单击工具栏中的“打印预览\"按钮.如果要在数据库窗体中预览报表,具体操作步骤如下:
①在数据库窗口中,单击“报表”标签。 ②选择需要预览的报表. ③单击“打印预览”按钮.
在页间切换,可以使用“打印预览”窗体底部的定位按钮;页中移动,可以使用滚动条。
6。5。2 打印报表
第一次打印报表以前,还需要检查面边距、面方向和其他页面设置的选项。当确定一切布局都符合要求后,打印报表的操作步骤如下:
12
①在数据库窗口中选定需要打印的报表,或在“设计视图”、“打印预览”或“布局预览”中打开相应的报表.
②单击“文件\"菜单中的“打印\"命令.
③在“打印”对话框中进行以下设置:在“打印机\"中,指定打印机的型号。在“打印范围”中,指定打印所有页面或者确定打印页的范围。在“份数”中,指定复制的份数或是否需要对其进行分页.如果要在不激活对话框的情况下打印报表,可以直接单击工具栏上的“打印\"按钮.
6。5.3 保存报表
通过使用“预览报表”功能检查报表设计,若满意,可以保存报表。单击工具栏上的“保存”按钮即可。
第一次保存报表时,就按照Access数据库对象命名规则在“另存为\"对话框中输入一个合法名称,然后单击“确定”按钮。
习题6
6。1选择题
1.如果要在整个报表的最后输出信息,需要设置
A.页面页脚 B.报表页脚 C.页面页眉 D.报表页眉 2.可作为报表记录源的是
A.表 B.查询 C.Select语句 D.以上都可以
3.在报表中,要计算“数学\"字段的最高分,就将控件的“控件来源\"属性设置为 A.=Max([数学]) B.Max(数学) C.=Max[数学] D.=Max(数学)
4.在报表设计时,如果只在报表最后一页的主体内容之后输出规定的内容,则需要设置的是
A.报表页眉 B.报表页脚 C.页面页眉 D.页面页脚 5.若要在报表每一页底部都输出信息,需要设置的是 A.页面页脚 B.报表页脚 C.页面页眉 D.报表页眉
6.如果设置报表上某个文本框的控件来源属性为“=7 Mod 4”,则打印预览视图中,该文本框显示的信息为
A.未绑定 B.3 C.7 Mod 4 D.出错
7.在Access数据库中,专用于打印的是_________。 A.表 B.查询 C.报表 D.页
8.要实现报表的分组统计,其操作区域是
A.报表页眉或报表页脚区域 B.页面页眉或页面页脚区域 C.主体区域 D.组页眉或组页脚区域 9.下面关于报表对数据的处理中叙述正确的是 A.报表只能输入数据 B.报表只能输出数据
C.报表可以输入和输出数据 D.报表不能输入和输出数据
10.为了在报表的每一页底部显示页码号,那么应该设置
13
A.报表页眉 B.页面页眉 C.页面页脚 D.报表页脚 6。2填空题
1.报表是以_______的格式显示用户数据的一种有效的方式.
2.在使用报表设计器设计报表时,如果要统计报表中某个字段的全部数据,应将计算表达式放在___________________。 6。3设计题
1.设计一个报表 ,输出所有的成绩记录,要求学号按升序排序. 2.设计一个报表,输出所有教师记录,要求按照年龄升序排序
14
因篇幅问题不能全部显示,请点此查看更多更全内容