检索Crystal Reports中子报表的记录计数

时间:2009-08-12 19:52:10

标签: crystal-reports

如何从主报告中检索子报告的记录数?

3 个答案:

答案 0 :(得分:8)

我认为这是一个骗局,但无论如何我都会回答。 :)

您可以在子报表上创建包含共享变量的公式字段。在公式中,您将共享变量设置为子报表中rowcount字段的值。

然后在主报表中,您需要创建一个公式,其中包含与子报表同名的共享变量,然后返回共享变量的值。

以下是一些可能有用的链接。 http://www.datamanagementgroup.com/Resources/TrainersTalk/trainerstalk_howto_share_subreport_data_with_main_report.asp http://www.ozgrid.com/forum/showthread.php?t=19034

答案 1 :(得分:0)

  1. 将此公式放在子报表中。如果您愿意,可以将其禁止显示。

    whileprintingrecords;
        共享numbervar SubRecordCount:=(但是您想要计算报告中的记录);

  2. 将其放入主报告中。同样,这也可以被抑制。

    whileprintingrecords;
    shared numbervar SubRecordCount;
    SubRecordCount

  3. 对于您需要的任何计算,请使用#2的公式名称 重要提示:由于Crystal的基本逻辑,如果它位于子报告的下方,则只能使用此字段。
    另外,对于计算子报表中的记录,我建议在底部运行总计。

答案 2 :(得分:-1)

在这里,您可以从代码侧检索子报告计数

===========================

CrystalDecisions.CrystalReports.Engine.ReportDocument RepDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

RepDoc.Load(ReportName);

int IntRepCount = RepDoc.Subreports.Count;

===========================

将此计数传递给您的报告