Crystal reports 将重复条目合并到一行中

Crystal reports 将重复条目合并到一行中,crystal-reports,Crystal Reports,我的报告如下: Number Route Transportnumber 1 A 1A 2 B 2B 3 C 3C 3 C 3CE 如何将数字3中的信息保存到一行中?它应该是这样的: Number Route Transportnumber 1 A 1A 2 B

我的报告如下:

Number   Route    Transportnumber
1         A            1A
2         B            2B
3         C            3C
3         C            3CE
如何将数字3中的信息保存到一行中?它应该是这样的:

Number   Route    Transportnumber
1         A            1A
2         B            2B
3         C            3C, 3CE
我在存储过程中尝试了以下公式:

whileprintingrecords;
stringvar s;
if s="" then
     s:={sp.Transportnumber}
else
     s:=s+", "+{sp.Transportnumber};
相反,这会导致:

Number   Route    Transportnumber   Formula
1         A            1A              1A
2         B            2B              2B
3         C            3C              3C
3         C            3CE             3C, 3CE

在报告中,根据
路线创建一个组。然后隐藏组标题和详细信息部分。相反,请将所有要查看的字段都放在组页脚中。此步骤确保即使路线重复,您也只能看到每个字母中的一个


然后创建一个带有共享变量的公式,名为
RouteTransports
。把它放在你的细节部分。每当组发生更改时,请使用
RouteTransports=“”
将其重置。只要组没有更改,就将
Transportnumber
的值添加到变量中。比如:

RouteTransports = RouteTransports & ", " & {yourtable.Transportnumber}

最后,在组页脚中创建一个最终公式
ShowRouteTransports
,用
RIGHT(RouteTransports,LEN(RouteTransports)-2)显示结果。
最终结果如下所示:

Number   Route    Transport Number
1        A        1A
2        B        2B
3        C        3C, 3CE