在我们的应用中,常常可以看到某个报表中间包含了一片或者多片单元格,这些单元格片段和报表往往有一个共同的关注对象,但是同时各自又有一个独立的主题,片与片之间往往没有任何关联。我们把这样的报表称为主子报表或者复合报表,有着共同主题的单元格片段称为子报表,而复合报表本身称为主报表。主子表有两种方式一种是嵌入式另一种是引入式。
一.嵌入式主子报表
嵌入式主子报表的特点是在单元格中嵌入子报表,形成格中嵌表的模式,子报表和母报表的格线可以不对齐,子表间格线也不对齐。
嵌入式的子报表扩展后,是个独立的报表,因此子表源格一直保留着,母报表可以访问子报表的值。
第一步:打开设计器
第二步: 连接数据源
第三步:新建空白报表
第四步:定义数据集
母报表数据集:ds1:SELECT 客户.客户ID,客户.联系人姓名 FROM 客户
子报表数据集:ds1:SELECT 订单.订购日期,订单.订单ID,客户.联系人姓名,客户.客户ID FROM 客户,订单 WHERE 客户.客户ID=订单.客户ID and year(订购日期) between 1997 and 2000
第五步:定义表达式
二.引入式主子报表
引入式子报表的特点是母报表单元格根据子报表的行数列数,双向同时扩展,子报表有几行几列,母报表中就扩展出几行几列,子报表占用母报表的空白行列,格线严格对齐。
引入式的子报表扩展后,和母报表形成了一个统一的二维矩形单元格,因此子报表的源格不保留,此时母报表不能访问子报表的值。
第一步: 打开设计器
第二步:连接数据源
第三步:新建空白报表
第四步:定义数据集
子报表9.3_sub1.raq数据集: ds1:SELECT 雇员.雇员ID,雇员.职务,雇员.地址,雇员.雇用日期,雇员.上级,雇员.邮政编码,雇员.家庭电话,雇员.姓氏||雇员.名字 as 姓名 FROM 雇员。
子报表9.3_sub2.raq数据集: ds1:SELECT 订单.订单ID,订单.货主地区,订单.雇员ID,订单明细.订单ID,订单明细.数量,订单明细.单价,订单明细.折扣 FROM 订单,订单明细 WHERE 订单.订单ID = 订单明细.订单ID。
子报表9.3_sub3.raq数据集: ds1:SELECT 订单.客户ID,订单.雇员ID,订单.订单ID,客户.客户ID,客户.地区,客户.公司名称,订单.运货费,订单.运货商 FROM 订单,客户 WHERE 订单.雇员ID IS NOT NULL AND 客户.客户ID = 订单.客户ID。 ds2:SELECT 运货商.公司名称,运货商.运货商ID FROM 运货商。
第五步:定义表达式
本文介绍了润乾报表中主子报表的两种实现方式——嵌入式和引入式。嵌入式主子报表在单元格中嵌入子报表,子报表和母报表格线可能不对齐,而引入式主子报表则保持格线严格对齐,根据子报表的行列数双向扩展。详细步骤包括数据源连接、数据集定义和表达式设定。
1814

被折叠的 条评论
为什么被折叠?



