7.1、报表对象基础
7.1.1、报表对象的作用
7.1.2、报表对象的结构
7.1.3、报表对象的数据源
返回
数据库中存储着大量的数据, 这些数据总
是以某种特定的关系组织在相互关联的各个
数据表中 。 利用前几章所介绍的知识, 我们
应该可以使用查询, 窗体筛选或联接数据库
中的数据形成动态数据集, 以供数据查阅,
分组, 统计计算或修改 。 查询和窗体对象能
够满足数据库应用系统对数据的交互式操作
需求, 也能够满足数据查阅的需要 。
报表中的大部分数据都是从基表, 查询或
SQL语句中获得的, 它们是报表对象的数据
源 。 报表中的其他数据, 如各类计算得到的
数据, 将存储在为报表设计的相关控件中,
这类控件通常都是非绑定型的文本框控件 。
7.1.1、报表对象的作用
例如在,零售商店管理信息系统, 数据库
中, 需要为销售人员交接班打印一张, 销售交
接班报表, 。 这个报表对象中的数据应该来源
于, 销售结转清查询,, 而, 销售结转清查询,
的查询准则是基于, 交接班结转清, 窗体的 。
可以将, 销售交接班报表, 的驱动, 设计在
,交接班结转清, 窗体上, 即在, 交接班结转
清, 窗体中设计一个命令按钮控件, 用于打开
,销售交接班报表, 。
一般报表对象的驱动都应该通过在对应的窗
体对象上安置合适的命令按钮, 并编写相应的
VBA程序来实现 。 同时, 这个驱动报表对象的窗
体对象, 还应该具有为被驱动的报表对象提供
数据准备的功能 。
先来看看, 交接班结转清, 窗体驱动, 销售交接
班报表, 报表的示例 。 打开 ( 运行 ), 交接班
结转清, 窗体时的形式如图所示 。
图 7-1,销售结转清查询”对象设计视图
图 7-2,交接班结转清”窗体设计视图
图 7-3,交接班结转清”窗体视图
图 7-4 预览显示的“销售交接班报表”
Access 2003报表对象的结构与窗体对象的
结构非常相似, 也是由五个节构成 。 它
们分别是:, 报表页眉, 节,, 页面页
眉, 节,, 主体,,, 页面页脚, 节和
,报表页脚, 节 。 图 7-5所示即为, 销售
交接班报表, 的设计视图, 从图中可以
看到一般报表结构所具有的五个节 。
7.1.2 报表对象的结构
图 7-5,销售交接班报表”设计视图
7.1.3 报表对象的数据源
一般情况下,一个报表的数据源都是基于一个查
询或一条 SQL语句的。这是因为报表总是打印数
据库中某几个数据表中的某一部分相关数据,这
就需要从数据表中筛选数据。因此,必须为报表
对象设定合适的数据来源。
可以有两种方法来为报表对象设定数据源。第一
种方法是在创建数据表对象之前,先行创建一个
查询对象,然后在创建报表对象时指定该查询对
象为其数据源。第二种方法是在报表对象设计窗
口中,对其“记录来源”属性设计一条 SQL语句。
例如上述, 销售交接班报表, 的数据源是一
个已经创建完成的, 销售结转清查询,,
就可以采用第一种方法为其指定数据源 。
图 7-6所示即为, 销售交接班报表, 的数
据源设定 。
图 7-6,销售交接班报表”的数据源设定
一般, 可以把采用上述两种方法中的
某一种方法创建的报表对象称为源于单一
数据集的报表 。 这是由于, 这种报表的数
据源可以是一个数据表对象, 一个查询对
象或一条 SQL语句 。
如果一个报表对象的数据源无法由一
个数据表对象、一个查询对象或一条 SQL
语句指定,则称此报表是一个源于多重数
据集的报表对象。在这样的情况下,必须
在报表对象中设计子报表,如同在窗体对
象中设计子窗体一样。