1

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

第 1 页:
<< 组标题 >> # 项目编号 价格
<< 组标题 >> _ __ _ __ _ __ _ __ _ __
<< 详情 a >> 1 ItemA001 $1,000
<< 详情 a >> 2 ItemA002 $1,000
<<详细信息 a >> 3 ItemA003 $2,000
<< Group Footer >> _ __ _ __ _ __ _ __ _ _
<< Group Footer >> Total: $4,000

第 2 页:
<< 组标题 >> # 项目编号 价格
<< 组标题 >> _ __ _ __ _ __ _ __ _ __
<< 详情 a >> 1 ItemB001 $2,000
<< 详情 a >> 2 ItemB002 $1,500
<<详细信息 a >> 3 ItemB003 $2,000
<< Group Footer >> _ __ _ __ _ __ _ __ _ __
<< Group Footer >> Total: $5,500

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

第 1 页:
<< 组页眉 >> # 项目编号 a 价格
<< 组页页 >> _ __ _ __ _ __ _ __ _ __
<< 详情 a >> 1 ItemA001 $1,000
<< 详情 b >> ---- -------------
<< 详情 a >> 2 ItemA002 $1,000
<< 详情 b >> -----
<< 详情 a > > 3 ItemA003 $2,000
<< 详情b >> ----------------- 如何压制?
<< 组页脚>> _ __ _ __ _ __ _ __ _ __
<< 组页脚>> 总计:4 美元,

第 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 没有为第二页重置,因此所有详细信息 b 将在第 2 页中被抑制。
如何设置条件以抑制最后一条记录的详细信息 b在每个组?

4

2 回答 2

3

使用此规则禁止“详细信息 B”部分:

onlastrecord or next(table.groupfield)<>table.groupfield
于 2015-03-11T15:16:07.007 回答
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 抑制公式编辑器并给出以下代码。使用插入摘要计算详细部分的记录数

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

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

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

于 2013-09-17T04:57:57.760 回答