水晶報表公式組合,推試顯示報表

2021-05-22 17:08:04 字數 1415 閱讀 9722

舉例:

現在有3張表

student表                                    course表                        class 表

學號       姓名       班級id      id    學號    所修課程               班級id    名稱

001        peter    jd001     1        001          英語               jd001    文科班

002        sam      jd001     2        001          語文               jd002    理科班

003        tony     jd001     3        002          數學 

4         003         生物

現在要求做張水晶報表 實現

水晶報表中的能容:

section2 頁首 部分 為 (也就是不迴圈的部分) 班級名稱 : 文科班(通過資料集查出)

section3詳細資料 部分 要求實現 效果 : 學號          課程                姓名

001      英語, 語文        peter

002        數學                  sam

1:按「班級」,「學號」分組

班級組主要是為了實現「section2 頁首 部分 為 (也就是不迴圈的部分) 班級名稱 : 文科班(通過資料集查出) 」

學號組則是為了實現課程合併的效果

2:做兩個公式,公式x1為:

c# code

whileprintingrecords;

global

stringvar xx;

ifonfirstrecord then

xx:=elseif=

previous () then

xx:=xx +'

,'+

else

xx:=

;

公式x2為:

c# code

whileprintingrecords;

global

stringvar xx;

xx;

將公式x1放在詳細資料節

把公式x2放在學號組的組頁尾,並將「學號 」,「姓名」欄位也放到學號組的組頁尾,即可實現該效果

公式1是將結果累加,公式2則是將結果顯示於組頁尾,兩個公式通過全域性變數xx實現資料共享。

3:關於用幾個表的問題,用3個表也可以,

把三個表在sql裡關聯好,取要用到的字段作為乙個表也可以。

備註:文章材料來自阿泰部落格

水晶報表 推模式

問題由來 公司換新系統,過渡期要和老系統共存,原報表使用odbc資料來源,因只有一台伺服器,所有新系統報表不能再使用odbc資料來源了,兩個系統的報表不能使用同一伺服器odbc資料來源 解決方案 方案一,修改新系統水晶報表的資料來源,改為oledb方式。方案二,修改水晶報表資料來源為推模式,在程式中...

水晶報表公式編輯

stringvar strx stringvar stry stringvar strz numbervar z strx totext stry totext mid strx,1,length strx instr strx,1 mid stry,1,length stry instr stry...

水晶報表的推模式

在乙個多層結構中,水晶報表的使用往往比較繁瑣 1 在專案中新增資料集,形成xsd檔案 2 利用xsd檔案,在水晶報表環境中生成報表 3 回到.net,新增rpt檔案 這樣做的壞處除了繁瑣,就是在ui層直接要訪問資料庫,將使得層次結構晚節難保。其實利用水晶報表的推模式,將很靈活的實現報表。思路是 事先...