子报表概述

原创 2004年01月15日 14:01:00

目录
一、什么是子报表?
二、通过使用子报表组合不相关的报表
三、对无法链接的数据使用子报表
四、在单个报表中显示相同数据的不同视图
五、一对多链接
----------------------------------
一、什么是子报表?
子报表是报表中的报表。创建子报表的过程与创建常规报表的过程相似。子报表有报表的大多数特性,包括它自己的记录选择条件。子报表与主报表之间的唯一区别是子报表:
是作为对象插入到主报表中;它不能独立存在(但可以将子报表另存为主报表)。
可以放置在报表的任意一节内,整个子报表将在该节中打印。
不能包含另一个子报表。
不要包含页眉或页脚节。

有四种情况通常要使用子报表:
1、将不相关的报表组合到单个报表中。请参阅通过使用子报表组合不相关的报表。
2、协调本无法链接的数据。请参阅对无法链接的数据使用子报表。
3、在单个报表中显示相同数据的不同视图。请参阅在单个报表中显示相同数据的不同视图。
4、从在查阅字段上没有索引的字段中执行一对多查阅。有关更多信息,请参阅一对多链接。

注意:    使用按需要显示子报表而不使用常规的现场子报表可以提高包含子报表的报表的性能。
----------------------------------
二、通过使用子报表组合不相关的报表
有时,可能希望将不相关的报表组合到单个报表中。例如,可能希望创建单个报表来表示:
按销售代表分组的销售额。
按项目分组的销售额。

虽然两个报表都处理销售数据,但两个报表之间没有真正的线性关系。
可以使用子报表将不相关的报表组合到像这样的单个报表中。虽然报表可以基于相同的数据集,但不必非这样。它们可以分别基于完全不同的数据集。
这些报表中的每一个都是独立的;任何报表中的数据不以任何方式链接到另一个报表中的数据。这是最容易使用的子报表选项。

有关所有详细信息,请参阅组合两个或更多不相关的报表。
----------------------------------
三、对无法链接的数据使用子报表
只要满足下列条件,就可以在报表中链接表:
链接字段都是数据库字段。
链接字段包含相似数据。
链接字段的长度相同。
与(查阅)表链接的链接字段有索引(仅对于 PC 数据库)。
链接表很少有问题。但是,有些情况下不能协调不同表中的数据,因为数据不满足链接条件。

例如,不能在单个报表中与公式字段进行相互链接,也不能链接两个没有索引的表。这时必须使用子报表。
----------------------------------
四、在单个报表中显示相同数据的不同视图
子报表可用于在主报表中提供数据的不同视图。例如,可能需要在报表上部显示汇总值,在下部显示详细信息。
这可以通过多种不同的方法完成。两种最容易的方法是:
将汇总报表创建成主报表,将详细信息报表创建成子报表。在此方法中,详细信息子报表放置在“报表页脚”节中。
将详细信息报表创建成主报表,将汇总报表创建成子报表。在此方法中,汇总报表放置在“报表页眉”节中。

使用适当的链接字段链接报表和协调数据。
----------------------------------
五、一对多链接
本教程说明如何使用 Xtreme.mdb 示例数据库中的“客户”、“信用”和“订单”表来创建 A 到 B、A 到 C 报表。Xtreme.mdb 数据库位于 /Program Files/Crystal Decisions/Crystal Reports/Samples/Chs/Databases 目录。请将这里的说明作为使用自己的数据库文件创建 A 到 B、A 到 C 报表的指导方针。

创建 A 到 B、A 到 C 链接

 在“标准”工具栏上,单击“新建”。
在 Crystal Reports 库 上单击“作为空白报表”,然后单击“确定”。
展开“数据库文件”文件夹。
选择 Xtreme.mdb 数据库文件,然后展开它的“表”文件夹。
突出显示“信用”表,然后将其添加到“选定的表”区域。
对“客户”和“订单”表重复前面的步骤。
添加完全部三个表后,单击“数据库专家”对话框上的“链接”选项卡。
如果默认情况下这些表之间存在链接,单击“清除链接”。
手动将“信用”表中的“客户信用 ID”字段链接到其它两个表中的“客户 ID”字段。
单击“对链接排序”。
出现“对链接排序”对话框。

选择一个链接,然后使用向上或向下箭头按照所需顺序排列链接。
单击“确定”返回“数据库专家”的“链接”选项卡。
单击“确定”关闭“数据库专家”。

现在在三个表中建立了 A 到 B、A 到 C 的关系。

子报表概述

目录一、什么是子报表?二、通过使用子报表组合不相关的报表三、对无法链接的数据使用子报表四、在单个报表中显示相同数据的不同视图五、一对多链接-------------------------------...
  • BennyMavis
  • BennyMavis
  • 2004年11月08日 15:13
  • 1739

C# RDLC子报表Subreport

private void LoadData() { var data = from r in cxt.Deps s...
  • QingHeShiJiYuan
  • QingHeShiJiYuan
  • 2016年02月21日 20:28
  • 986

使用ireport制作报表,父报表传参给子报表

ireport是一款开源的报表可视化设计器,其是由java语言编写,能够输出PDF、XLS、XML、DOC等,是一款很好的报表设计软件,编译生成的jasper文件可以直接进行使用。关于更多irepor...
  • qq_21050783
  • qq_21050783
  • 2017年01月19日 09:51
  • 503

.NET 自带报表 Rdlc 动态增加子报表

有时候,根据项目的需要,需要将项目需要的几个子报表集成到一个子报
  • wyqlxy
  • wyqlxy
  • 2014年11月12日 17:11
  • 2392

ReportViewer 嵌套子报表

1.、   aspx 页面代码                                         Font-Size="8pt" InteractiveDeviceInfos="...
  • mutou965175859
  • mutou965175859
  • 2012年08月16日 16:02
  • 4824

主报表和子报表

子报表的定义 子报表是插在其他报表中的报表。包含子报表的报表称为主报表。 主报表中的记录和子报表中的记录是一对多的关系。 主报表可以是绑定的也可以是未绑定的,也就是说,主报表可以基于基础表、查询...
  • GoodShot
  • GoodShot
  • 2012年11月16日 11:52
  • 5146

iReport 报表、子报表、主从报表、合计、实例解析

开发使用步骤(iReport 4.1.1) 1.      开发使用步骤(iReport4.1)... 2 4.1.       JasperReport 和iReport的介...
  • weisong530624687
  • weisong530624687
  • 2014年08月15日 16:07
  • 1797

RDLC 报表系列(四) 子报表的使用

本文只代表作者在一定阶段的认识与理解 一.写作前提 前面几篇中我讲了如何去实现一个RDLC报表、插入图片、参数传递及常用表达式的使用。这一节我们将focus on子报表的使用。假设有一天,你的老板...
  • u011981242
  • u011981242
  • 2016年01月31日 19:02
  • 1355

RDLC子报表

一个报表,显示主记录与相关的子记录,使用RDLC,经两个多小时的摸索,总算是搞出个DEMO,赶紧记下来,以备以后查看。 步骤1:建立一个报表,在报表中加入“列表”控件,在列表中加入文本框,将主记录数...
  • GoodShot
  • GoodShot
  • 2012年11月18日 10:38
  • 1875

FastReport报表 设计复杂报表使用子报表解决(图文)

今天做的一个复杂报表,涉及到使用2个数据源,其中一个读取一条记录在页面显示,另外一个读取关联数据将多条记录在页面中间显示。可以直接在Data band中添加子数据只能在页面最下面显示循环记录。经过简单...
  • upi2u
  • upi2u
  • 2016年09月14日 08:18
  • 2020
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:子报表概述
举报原因:
原因补充:

(最多只允许输入30个字)