【问题标题】:Getting the last record from detail section in header section从标题部分的详细信息部分获取最后一条记录
【发布时间】:2019-04-15 22:46:12
【问题描述】:

我对 Crystal Reports 有点陌生并且遇到了一个大问题(至少对我来说是大问题)...我需要从详细信息部分获取最后一个记录字段并将其显示在标题部分中。我正在使用以下两个简单的公式:

//--------------------------------------------- --------- 标题部分:

//公式1(仅用于显示从公式2得到的变量)

打印记录时; 共享数字var Saldo;

详细部分:

//公式2

whileprintingrecords;
shared numbervar Saldo; 
if onlastrecord = true then Saldo:={spKardex_CodZOFRI.amount};

//--------------------------------------------- ---------

例如。对于 4 条记录数据集: 1- 255 2- 122 3- 69 4- 56

我总是得到第一个金额(在本例中为 255),但我需要标题部分的最后一个 (56)。

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    很遗憾,由于 Crystal Reports 的工作方式,该公式在标题部分中不起作用。生成报告时,CR 在开始打印部分之前不会读取整个数据集。打印标题部分时,CR 仅读取数据集中的第一条记录,或数据集中分组数据中的第一条记录。有些函数允许您读取上一条记录或下一条记录的值,但数据集的其余部分超出了范围。因此,一旦报表开始打印甚至是详细信息部分的第一条记录,所有标题部分都已完全打印,无法更改。

    您的公式可以在页脚部分使用,但 OnLastRecord = true 部分将被视为多余,因为在打印页脚部分时报表始终位于最后一条记录上。 OnLastRecord 的用法通常仅用于允许在详细信息部分的最后一条记录内进行格式控制。

    如果您特别需要将详细信息部分的最后一条记录中的值显示在标题部分中,则需要使用 SQL 表达式字段或子报表。

    【讨论】:

      【解决方案2】:

      如果您的详细记录像您的示例一样按降序排列,则在标头中创建一个 Summary,即 Minimum({field})。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多