Crystal Report:如何在详细信息部分合并和拆分行

时间:2014-07-05 10:13:09

标签: crystal-reports crystal-reports-8.5

嗨,我是堆叠溢出的新手,我在水晶报告中遇到了问题。

提前谢谢

我从

等数据库获取输出
Name                   Qty    Rate   Amount

Mango ice cream        1       100    100

Chocobar               1       150    150

Zulubar                1       50      50

Chocolate cone         1       50      50

Kulfi                  1       100    100 

ABC                    1       100    100

XYZ                    1       50      50

Total:-                               600

现在我要做的是合并前三个raw并拆分第三个raw。 我希望输出看起来像这样

Name                                      Amount

Mango ice creame, Chocobar, Zulubar       300

Chocolate cone, Kulfi, ABC                250

XYZ                                       50 

Total:-                                   600

我该怎么做?

2 个答案:

答案 0 :(得分:0)

假设您的要求是静态的,并且不涉及动态。请遵循以下流程:

  1. 创建3个详细信息部分,detailAdetail Bdetail C

  2. 创建公式@First将其详细放置A.

    Local Numbervar var_Mango_ice_creame;
    Local Numbervar var_Chocobar;
    Local Numbervar var_Zulubar;
    Shared Numbervar total;
    
    if Name='Mango ice creame'
    then var_Mango_ice_creame:= Amount;
    
    if Name='Chocobar'
    then var_Chocobar:= Amount;
    
    if Name='Zulubar'
    then var_Zulubar:= Amount;
    
    total:=total+var_Mango_ice_creame+var_Chocobar+var_Zulubar;
    var_Mango_ice_creame+var_Chocobar+var_Zulubar;
    
  3. 同样创建第二个公式@second将其放入Detail2

    Local Numbervar var_Chocolate cone;
    Local Numbervar var_Kulfi;
    Local Numbervar var_ABC;
    Shared Numbervar total;
    
    if Name='Chocolate cone'
    then var_Chocolate cone:= Amount;
    
    if Name='Kulfi'
    then var_Kulfi:= Amount;
    
    if Name='ABC'
    then var_ABC:= Amount;
    
    total:=total+var_Chocolate cone+var_Kulfi+var_ABC;
    var_Chocolate cone+var_Kulfi+var_ABC;
    
  4. 创建第3个公式@Third将其放入详细信息C

    Local Numbervar var_XYZ;
    Shared Numbervar total;
    
    if Name='XYZ'
    then var_XYZ:= Amount;
    
    total:=total+var_XYZ;
    var_XYZ;
    
  5. 创建第4个公式Display并放入报告页脚。

     Shared Numbervar total;
     total;
    

答案 1 :(得分:0)

创建一个用于分组目的的公式字段:

// {@grouper}
Ceiling(RecordNumber/3)

在此字段上添加一个组。

创建一个手动,运行总计字段:

// {@reset}
// place in group header; suppress

WhilePrintingRecords;
Stringvar Array reset;
Stringvar Array values;
values := reset;

// {@increment}
// place in details; suppress

WhilePrintingRecords;
Stringvar Array values;

Redim Preserve values[Ubound(values)+1];
values[Ubound(values)] := {table.name_field};

// {@display}
// place in group footer

WhilePrintingRecords;
Stringvar Array values;
Join(values, ", ");