根据条件在详细信息部分中抑制线对象

时间:2013-09-16 06:57:05

标签: crystal-reports crystal-reports-2008

我正在使用Crystal Report 2008.我的报告结果包含超过1页和1组。示例结果如下:

第1页:
<<组头>> #货号。价格
<<组头>>的 _ __ _ __ _ __ _ __ _ __
<<详细信息a>> 1 ItemA001 $ 1,000
<<详细信息a>> 2 ItemA002 $ 1,000
<<详细信息a>> 3 ItemA003 $ 2,000
<<组页脚>>的 _ __ _ __ _ __ _ __ _ _
<<组页脚>>总计:$ 4,000

第2页:
<<组头>> #货号。价格
<<组头>>的 _ __ _ __ _ __ _ __ _ __
<<详细信息a>> 1 ItemB001 $ 2,000
<<详细信息a>> 2 ItemB002 $ 1,500
<<详细信息a>> 3 ItemB003 $ 2,000
<<组页脚>>的 _ __ _ __ _ __ _ __ _ __
<<组页脚>>总计:$ 5,500

现在我想在每一行之间插入一行,如下所示:
(据我所知,用户无法设置线对象的抑制条件,所以我在细节中添加了一行b)

第1页:
<<组头>> #Site No. a Price
<<组头>>的 _ __ _ __ _ __ _ __ _ __
<<详细信息a>> 1 ItemA001 $ 1,000
<<详情b>> -----------------
<<详细信息a>> 2 ItemA002 $ 1,000
<<详情b>> -----------------
<<详细信息a>> 3 ItemA003 $ 2,000
<<详情b>> -----------------如何抑制?
<<组页脚>>的 _ __ _ __ _ __ _ __ _ __
<<组页脚>>总计:$ 4,000

第2页:
<<组头>> #货号。价格
<<组头>>的 _ __ _ __ _ __ _ __ _ __
<<详细信息a>> 1 ItemA001 $ 1,000
<<详情b>> -----------------
<<详细信息a>> 2 ItemA002 $ 1,000
<<详情b>> -----------------
<<详细信息a>> 3 ItemA003 $ 2,000
<<详情b>> -----------------如何抑制?
<<组页脚>>的 _ __ _ __ _ __ _ __ _ __
<<组页脚>>总计:$ 5,500

我尝试过抑制“RecordNumber> = Count({ItemNo。})”但是RecordNumber没有为第二页重置,因此第2页将禁止所有细节b。
如何设置条件以抑制每组中最后一条记录的详细信息b?

2 个答案:

答案 0 :(得分:3)

使用此规则抑制“详细信息B”部分:

onlastrecord or next(table.groupfield)<>table.groupfield

答案 1 :(得分:1)

找到以下解决方案。

在详细信息部分为字段创建一个运行总计,并且运行总计应该是这样的。

1. Field to summarize should be Database Field, Type of summary should be "Count".

2. Evaluate for each record.

3. Reset for change of Group

现在你得到了该组中的记录数。

  1. 要压缩最后一条记录的行,请转到详细信息b supress公式编辑器并提供以下代码。使用插入摘要

    获取详细信息部分的记录计数

    IF (Count (Filed, Group})=Running total) then true else false

  2. 一旦计数(它给出一个记录的值计数)等于运行总值,该行将被抑制。

    这是经过测试的代码并为我工作。