1、Access实例教程,ACCESS实例教程,报表的操作(第5章),1,使用报表控件2,建立报表3,建立主/子报表4,添加计算控件,本章要点:,5.1 认识报表对象,报表是按指定格式输出数据的对象,数据源是表、查询或SQL语句。报表主要于数据库数据的打印,没有输入数据的功能。 报表是容器对象,包含数据源和其他对象,在报表中的对象称为报表控件。,报表有3种视图:设计视图、打印预览、版面预览。单击窗口左上角的视图按钮进行视图切换。,5.1.1 报表的视图,5.1.2 报表的结构,一个完整的报表对象包含7个节:报表页眉节、页面页眉节、组页眉节、主体节、组页脚节、页面页脚节、报表页脚节。默认情况下设计视
2、图窗口只显示页面页眉节、主体节、页面页脚节。只有在“视图”菜单的 “排序与分组”中设置,才能显示组页眉节和组页脚节。,5.1.3 报表的类型,报表有4种类型,分别是:纵栏式报表、表格式报表、图表报表、标签报表。,纵栏式报表以垂直方式显示记录,字段标签与字段值一起显示在主体节内。 表格式报表以行、列形式显示记录,一页显示多条记录,字段标签不在主体节区域,而是在页面页眉节中。分组字段在表格式报表中设置。 图表报表用图表方式显示数据,直观地显示数据之间的关系。 标签报表是特殊类型的报表,将数据做成标签形式,一页中显示许多标签。,5.1.4 报表的几个重要按钮,分别是:字段列表,工具箱,排序分组,自动
3、套用格式,代码,属 性,生成器,数据库,新对象。 单击“排序分组”按钮,选取一个字段,可以对字段进行排序和分组操作,实现报表数据的排序、分组输出、分组统计。,5.1.5 报表的节,报表的内容以节划分,节代表不同带区,每个节都有特定用途,并按一定顺序打印。报表有惟一宽度,改变一个节的宽度等于改变整个报表的宽度。 用“视图”菜单中的命令可以为报表添加“报表页眉/页脚”节、“页面页眉/页脚”节、“组页眉/页脚”节。 选中一个节,“可见性”属性设置为“否”,或删除节中控件,将节的“高度”属性设置为0,可以隐藏选中的节。,5.2 在报表中使用控件,5.2.1 用文本框控件显示页码,page 计算当前页,
4、 pages计算总页数。 页码主要有2种显示格式:(1)显示格式为“当前页/总页数”, 如“3/10” 表达式:= page & / & pages(2)显示格式为“第n页/共m页”,如“第3页/共10页” 表达式:= 第 & page & 页/总 & pages & 页,5.2.2 用文本框控件在报表中添加新字段,例:在报表中添加“应发工资”字段,页面页眉中添加标签,主体节中添加计算文本框。表达式:=工资+ 奖金,例:用复选框控件添加“通过否”字段,在主体节添加复选框控件,名称为fxk,“控件来源”属性写表达式:=iif(人平均=70,true,false) 在“录取否”对应的计算文本框表达
5、式: =iif(fxk=-1,录取,未录取),5.3.3 用复选框控件在报表中添加新字段,显示结果:,5.2.4 在报表中显示非记录源字段,用 DLookup 函数在报表中显示非记录源(又称外部表)中的字段值,外部表与当前表之间无须建立关系,在函数中以共有字段作为连接条件即可。 DLookup(外部表字段名,外部表名,条件表达式),说明:(1)函数中的各部分要用引号括起来。(2)条件表达式格式:外部表字段名= &当前表字段名& 注意其中单、双引号和&号的使用。(3)如果有多个字段符合条件表达式,DLookup 函数只返回第 一个字段值。,例:当前表是“员工”表,外部表是“部门”表,用 DLoo
6、kup 函数显示外部表中“名称”字段的值。,计算出生年:=Year(Now()-年龄 计算部门:=dlookup(名称,部门,部门编号=&所属部门&),显示结果:,在报表页脚节或组页脚节可以使用函数对整个报表或组做统计操作,常用的统计函数有:count(统计个数)、sum(求和)、avg(求平均值)。,5.2.5 统计报表数据,例:用count、sum、avg函数统计报表数据,计算总人数:=count(姓名)计算平均工资:=avg(工资)计算奖金合计:=sum(奖金)说明:“格式”属性选“固定”,值显示2位小数。,报表布局:,显示结果:,5.3 数据排序与分组,“视图”菜单“排序与分组”在左边
7、列中选字段在右边列中选排序方式。如果对多个字段排序,则选取字段的顺序就是排序次序。首先对第一个字段排序,当第一个字段的值相同时,再对第二个字段排序。,5.3.1 数据排序,5.3.2 数据分组,“视图”菜单“排序与分组”分组字段选“姓名”组页眉选“是”组页脚选“是”,设计视图中显示组页眉和组页脚。,例:按照“姓名”字段分组,显示所选课程的名称、成 绩,计算平均成绩 。,在组页脚添加计算字段。表达式:=avg(成绩),显示结果:,主/子报表类似于主/子窗体,是对建立了关系的两个表的操作。两个表都已单独建立了报表,然后将子表对应的报表插入到主表对应的报表中。主报表可以包含一个或多个子报表,也可以包含一个或多个子窗体。,5.4 主/子报表与标签报表,5.4.1 主子报表,例:用主/子报表的方法显示学生表与公共课成绩表,(1)将“学生”表与“公共课成绩”表建立关系并实施参照完整性,并分别建立报表 。(2)将子报表拖入主报表的设计视图,调整大小 。,显示结果:,5.4.2 标签报表,标签报表是一种多列报表,在一页中显示多列数据。,例:制作可以显示4列的标签报表。(1)添加字段,用矩形控件修饰。,“文件”菜单“页面设置”“列”选项卡中列数选4行间距和列间距都选0宽度3.5cm高度2.7cm去掉“与主体相同”的对勾。,显示结果:,