在报告中递归显示所有子对象

时间:2017-02-23 11:49:13

标签: crystal-reports formula hierarchical-data

我的表格有两个相关字段PartNoSubPartNo。这些包含用于构建整个装配的所有零件号。主程序集(第1级)使用PartNo。根据装配的复杂程度,可能有数百条带有第一级零件号的记录。这些记录都包含SubPartNo个。

如果SubPartNo也包含部分,SubPartNo也将在表格的其他位置列为PartNo。这些可以反过来有子部分,等等。

我的报告需要列出主要部件,然后是每个相关的子部件及其后续的数字链。如何在Crystal Reports中完成此操作?

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您必须在Crystal Reports中执行此操作,那么您将度过一段美好时光。

公式特别适合递归,因为它依次评估每个条目,而且比较能力非常有限。例如,当它评估列表中的条目#42时,它可以与之比较的唯一其他条目是#41和#43。不适合您的需求。

虽然可以在Crystal中使用子报表,这对于递归的单层来说是完美的,但遗憾的是,您无法嵌套子报表。因此,您可以获得主要部件的子部件,但不能获得子部件或其他子部件。

我能想到的 方式是编写一个存储过程,在报表中使用,处理所有递归 - 在数据到达报表之前。这完全可行,我建议您研究SQL递归以帮助您完成工作。