未链接的子报表与链接的子报表

未链接的子报表

未链接的子报表是独立的;它们的数据不以任何方式与主报表的数据相协调。

在未链接的子报表中,不试图将一个报表中的记录与另一个报表中的记录进行匹配。未链接的子报表不必使用与主报表相同的数据;它可以使用相同的数据源,也可以使用完全不同的数据源。此外,子报表并不仅限于在单个表上建立报表。未链接的子报表可以基于单个表也可以基于多个表。无论基础数据源是什么,报表都被视为不相关。

链接的子报表

链接子报表与未链接子报表正好相反;其数据是相协调的。程序将子报表中的记录与主报表的记录进行匹配。如果用客户信息创建主报表,用订单信息创建子报表并链接它们,则程序将为每个客户都创建一个子报表,并在子报表中包括该客户的所有订单。

子报表链接如何工作

将子报表链接到主报表时,程序通过使用参数字段创建链接。

选定子报表链接字段后,程序创建:

  • 子报表中的参数字段,该字段随后用于获取主报表传递给它的值。

  • 使用参数字段的子报表的记录选择公式。

    选择公式将子报表限制在链接字段值与参数字段值相等的记录上。

当报表运行时,程序查找它所需的第一个主字段记录,然后将链接字段中的值传递到子报表中的参数字段。然后,程序用基于参数字段值选定的记录来创建子报表。下面是一个示例:

  • 创建显示客户数据的报表和显示订单数据的子报表,然后使用“客户 ID”字段链接两个报表。
  • 当运行该报表时,程序查找它所需的第一个客户记录,然后将该记录中的“客户 ID”值传递到子报表参数字段。
  • 程序运行“订单”子报表。因为子报表选择公式只选择那些“客户 ID”值等于参数字段值的记录,且因为参数字段值等于主报表第一个记录中的“客户 ID”,所以子报表只包含那些具有相同“客户 ID”的记录。也就是第一个客户的订单的记录。
  • 完成子报表后,程序在主报表中定位它所需的第二个记录,输出显示客户数据,然后将该客户的 ID 号传递到参数字段。
  • 然后程序运行只包括第二个客户订单记录的子报表。
  • 此过程一直持续到报表完成。
  • 该参数字段的所有操作都在后台发生。您只需选择用来链接主报表和子报表的字段,程序将完成其余的所有工作。这些值将在参数字段不提示您输入值的情况下传递。