2014-07-05 21 views
0

您好,我是堆棧溢出的新手,我在水晶報告中遇到問題。水晶報告:我如何合併和拆分細節中的行

預先感謝您

我正在從數據庫輸出像

 
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 

現在我想做的是合併3日生前三原料和分裂。 我想輸出看起來像這樣

 
Name          Amount 

Mango ice creame, Chocobar, Zulubar  300 

Chocolate cone, Kulfi, ABC    250 

XYZ          50 

Total:-         600 

我該怎麼做?

+0

這將是有益的,如果你有什麼你迄今嘗試和具體談談你可能得到的任何錯誤。 – ivarni

回答

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. 創建第三公式@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; 
    
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, ", ");