新聞中心

我們都知道Oracle reports是Oracle的數(shù)據(jù)統(tǒng)計(jì)和圖形化報(bào)表的工具,Oracle reports提供了六種不同風(fēng)格的報(bào)表格式,但是我們經(jīng)常使用的兩種,就是tabular與matrix,以下的文章就有相關(guān)的介紹。
無論用哪種風(fēng)格生成的報(bào)表,打印出的表格數(shù)都是動態(tài)變化的。其中tabular風(fēng)格的報(bào)表,列數(shù)固定,而行數(shù)不定;matrix風(fēng)格的報(bào)表,行數(shù)和列數(shù)均不定。那么在Oracle reports中如何實(shí)現(xiàn)報(bào)表的定長與定寬輸出呢?筆者在實(shí)際開發(fā)過程中對上述兩種風(fēng)格的報(bào)表各總結(jié)出一種行之有效的方法,供大家參考。
對于tabular風(fēng)格的報(bào)表,可用報(bào)表觸發(fā)子after parameter form和after report實(shí)現(xiàn)定長輸出。其方法是:根據(jù)實(shí)際情況確定每頁打印的行數(shù),當(dāng)***一頁的記錄數(shù)少于每頁打印的行數(shù)時(shí),則用空記錄補(bǔ)齊。在觸發(fā)子after parameter form插入空記錄,在觸發(fā)子after report中再將空記錄刪除,下面舉例說明。
假設(shè)有一數(shù)據(jù)基表wzdm:存放物資代碼信息,其數(shù)據(jù)結(jié)構(gòu)為:
字段名 含義 長度 類型
wzdm 物資代碼 9 c
wzmc 物資名稱 20 c
xhgg 型號規(guī)格 20 c
jldw 計(jì)量單位 6 c
要求:按定長輸出物資代碼表,并且每頁均輸出x行(x可根據(jù)實(shí)際情況而定)。
1.啟動Oracle reports,建立物資代碼打印報(bào)表(略),然后在報(bào)表觸發(fā)子after parameter form中加入以下代碼:
- declare
- v—jls number(2);
- i number(2):=1;
- begin
- select count() into v—jls from wzdm;
- if mod(v—jls,x)〈〉0 then
- loop
- exit when i〉=(x-mod(v—jls,x))+1;
- insert into wzdm(wzdm,wzmc,xhgg,jldw)
- values(′′,′′,′′,′′);
- ii:=i+1;
- end loop;
- commit;
- end if;
- end;
在報(bào)表觸發(fā)子after report中分別加入以下代碼:
- begin
- delete from wzdm where wzdm is null;
- commit;
- end;
2.運(yùn)行報(bào)表后即可輸出定長的物資代碼表。
說明:對于其它tabular風(fēng)格的報(bào)表,在編寫上述兩個(gè)觸發(fā)子時(shí)只需將基表名與列名根據(jù)實(shí)際情況修改一下,并確定x的值即可。
以上的相關(guān)內(nèi)容就是Oracle reports對Oracle的數(shù)據(jù)統(tǒng)計(jì)及圖形化報(bào)表工具的介紹,望你能有所收獲。
【編輯推薦】
- Oracle培訓(xùn)課程的特色的相關(guān)介紹
- Oracle命令與相關(guān)函數(shù)的整理
- Oracle時(shí)間與日期的相關(guān)操作實(shí)例
- Oracle命令與相關(guān)函數(shù)的整理
- Oracle培訓(xùn)課程的特色的相關(guān)介紹
網(wǎng)站欄目:Oraclereports提供的六種風(fēng)格報(bào)表格式
分享鏈接:http://m.5511xx.com/article/dhcgopg.html


咨詢
建站咨詢
