如何确保所有值显示在由多行连接的字段中?

问题描述 投票:0回答:1

我有报告,其中每个销售代码都单独列出。

所以表格输出这个

客户 日期 销售代码
1 9/17/22 X23
2 9/18/22 A24
2 9/18/22 B12

但我需要看看

客户 日期 销售代码
1 9/17/22 X23
2 9/18/22 A24 B12

我在网上找到了一个公式,而且大部分都有效

公式 1:此公式将每个值连接成一个字符串。放置在详细信息部分并抑制该字段。

打印时记录; 共享 StringVar ConCat; 如果 ConCat = "" 那么 ConCat := {Field_Name} 否则如果不是({Field_Name} in ConCat)那么 ConCat := ConCat + " " + {Field_Name}

公式 2:此公式将显示最终值。放在组页脚部分。

打印时记录; 共享 StringVar ConCat;

公式 3:此公式将为下一条记录重置变量。放置在组标题中以删除以前记录的值。

打印时记录; 共享 StringVar ConCat := ""

我遇到的问题是,如果两个连续的日期具有相同的销售代码,它们就会被合并。 A 组是客户 ID,B 组是日期。这些公式放在 B 组页脚和页眉中。这是为两个字段设置的(有时会有空白)

所以如果平时有这个

客户 日期 销售代码 交易代码
1 9/17/22 X23
2 9/18/22 A24 125
2 9/20/22 A24 333
2 9/24/22 B13 908
2 9/24/22 K17 227

我明白了

客户 日期 销售代码 交易代码
1 9/17/22 X23
2 9/18/22 A24 125 333
2 9/24/22 B13 K17 908 227

代替

客户 日期 销售代码 交易代码
1 9/17/22 X23
2 9/18/22 A24 125
2 9/20/22 A24 333
2 9/24/22 B13 K17 908 227

因为有两个组,所以我尝试弄乱组内的位置,但这没有用。

crystal-reports concatenation
1个回答
0
投票

您可以制作一个新公式并组合这 3 个“关键”字段,然后用此公式替换您的组。那应该使所有东西很好地分开:

如果 Client 是数字或字符串,则更新公式..

// My grouping formula
ToText({My_Table.Client},0,'') & '-' & 
ToText({My_Table.Date},'yyyy-MM-dd') & '-' & 
{My_Table.Sales_Code}

亚当(APB 报告)

© www.soinside.com 2019 - 2024. All rights reserved.