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