2017-02-23 56 views
0

我的表格有两个相关字段,PartNoSubPartNo。这些包含用于构建整个装配的所有零件编号。主要组件(第一级)使用PartNo。根据装配的复杂程度,可能会有数百个具有第一级零件号的记录。这些记录将全部包含SubPartNo's。在报告中递归显示所有子对象

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

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

enter image description here

+0

感谢您的回复4444.我将研究SQL递归,看看它是否是我需要的。 – highrise955

+0

您可能会探索分层查询。在Oracle中,它以/ connect by开头。更多的想法在这里:http://stackoverflow.com/questions/4048151/what-are-the-options-for-storing-hierarchical-data-in-a-relational-database – Sun

+0

谢谢孙,我会检查出来。 – highrise955

回答

0

如果你必须这样做在Crystal Reports,你就要有一个坏的时间。

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

虽然可以在Crystal中使用子报表,但这对于递归的单层来说是完美的,但不幸的是您无法嵌套子报表。所以你可以得到一个主要部分的子部分,但没有任何子部分或更多。

只有我认为可以这样做的方法是编写一个存储过程,以便在数据甚至到达报告之前处理所有递归的报告中使用。这是完全可行的,我建议你研究SQL递归来帮助你完成工作。