亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

用Delphi4的QReport部件生成報表

2019-11-17 05:07:02
字體:
來源:轉載
供稿:網友
p>  用戶在使用數據庫應用程序時經常要生成報表,利用Delphi 4的QReport 部件,可以幫助我們快速方便地生成報表。這里以一個設備治理報表為例說明如何用QReport部件與Query部件設計從多個數據表中生成報表。

一、 所用數據庫
  這里用到三個FoXPRo數據表,DLBMK(設備大類編碼)、SBXHK(設備型號及配置)、BMSBK(設備所在部門),存放在D:/SB目錄下。其庫結構如下:
(一) DLBMK 字段名稱 字段類型 解釋 1 DLBH N3 設備大類的編號 2 DLMC C20 設備大類的名稱 (二)SBXHK 字段名稱 字段類型 解釋 1 XHBM N3 設備型號的編碼 2 DLBH N3 同DLBMK中的DLBH字段 3 SBXH C30 設備型號 4 SBPZ C30 設備配置 5 SBSL N3 設備數量 (三)BMSBK 字段名稱 字段類型 解釋 1 BMMC C20 部門名稱 2 XHBM N3 同SBXHK中的XHBM字段 3 SL N3 數量   利用這三個數據表,要生成一個只有電腦部有而其他部門沒有的設備型號的情況。
二? 絳蛑械牟考笆糶?/b>
  程序中有兩個窗體:主窗體mainForm與報表窗體repForm。主窗體mainForm中有兩個TButton部件,設置如下:
部件 屬性及屬性值
PreviewBTn:TButton Caption:預覽
PrintBtn: TButton Caption:打印   報表窗體repForm中的部件及屬性設置如下:
部件 屬性及屬性值
Query1: TQuery DatabaseName:d:/sb
Active: True
Qrep1: TQuickrep Dataset:query1
TitleBand1: TQRBand BandType:rbTitle
HeadBand1: TQRBand BandType:rbColumnHeader
DrawLeft : True
DrawRight : True
DrawTop : True
DrawBottom : True
DetailBand1: TQRBand BandType:rbDetail
DrawLeft : True
DrawRight : True
DrawTop : True
DrawBottom : True
ChildBand1: TQRChildBand ParentBand:DetailBand1
DrawLeft : True
DrawRight : True
DrawTop : True
DrawBottom : True
TitleLabel: TQRLabel Caption:設備統計表
DlmcLabel: TQRLabel Caption:類別
SbxhLabel: TQRLabel Caption:型號
SbpzLabel: TQRLabel Caption:配置
SbslLabel: TQRLabel Caption:數量
DlmcDBText: TQRDBText Dataset:Query1
Datafield: dlmc
SbxhDBText: TQRDBText Dataset:Query1
Datafield: sbxh
SbpzDBText: TQRDBText Dataset:Query1
Datafield: sbpz
SbslDBText: TQRDBtext Dataset:Query1
Datafield: sbsl
Shape1~9: TQRShape Shape:qrsVertline
Top:0
Width:1
Query1的SQL屬性設置為:
select a.dlbh,a.dlmc,b.sbxh,b.sbpz,b.sbsl
from dlbmk a,sbxhk b
where a.dlbh=b.dlbh and b.xhbm not in
(select xhbm from bmsbk where trim(bmmc)$#@60;$#@62;’電腦部’)
order by a.dlbh    設置幾個TQRband部件的DrawLeft、DrawRight、DrawTop、DrawBottom屬性值為True,是為了打印表格邊框及橫線。利用TQRShape部件,是為了打印出表格豎線。DlmcDBText放置在DetailBand1上,其它幾個TQRDBText部件放置在ChildBand1上,Shape1~3放置在HeadBand1上,Shape4~6放置在DetailBand1上,Shape7~9放置在ChildBand1上。
三、 為程序增加代碼
1.mainForm窗體中的兩個按鈕事件 procedure TmainForm.PreviewBtnClick(Sender : TObject)

begin
repForm.Qrep1.Preview;
end;

procedure TmainFormPrintBtnClick(Sender : TObject)
begin
repForm.Qrep1.Print;
end;
2.HeadBand1、DetailBand1及ChildBand1的BeforePrint事件 procedure TrepForm.HeadBand1BeforePrint(Sender : TQRCustomBand; Var PrintBand : Boolean)
Begin
Shape1.Height:=HeadBand1.Height;
Shape2.Height:=HeadBand1.Height;
Shape3.Height:=HeadBand1.Height;
End;

procedure TrepForm.DetailBand1BeforePrint(Sender : TQRCustomBand; Var PrintBand : Boolean)
begin
PrintBand:=bh$#@60; $#@62;Query1[‘dlbh’];
if PrintBand then
begin
bh:=Query1[‘dlbh’];
Shape4.Height:=DetailBand1.Height;
Shape5.Height:=DetailBand1.Height;
Shape6.Height:=DetailBand1.Height;
end
end;

procedure TrepForm.ChildBand1BeforePrint(Sender : TQRCustomBand; Var PrintBand : Boolean)
Begin
Shape7.Height:=ChildBand1.Height;
Shape8.Height:=ChildBand1.Height;
Shape9.Height:=ChildBand1.Height;
End;
  bh應在變量定義部分定義: Var bh : shortint=0;
  幾個TQRShape部件的高度(Height)與所在TQRBand 部件保持一致,使豎線打印得整潔。假如在設計階段調整了TQRBand部件的高度,也不會出現豎線斷線或過長的情況。
  在DetailBand1的BeforePrint事件中用PrintBand進行控制,可使每個設備大類名稱只需打印一次,而不是每個型號都對應打印一次大類名稱。因為dlbh字段的值都大于0,bh初值設為0使它與任一記錄的dlbh字段的值都不同,以確保第一個大類名稱被打印。這樣就生成了一個從多個數據表中提取數據,并帶有表格線的數據報表。
  注:本例工程文件為sbgl.dpr,原程序文件為main.pas和sbrep.pas,若要測試請將dlbmk.dbf、sbxhk.dbf、bmsbk.dbf三個文件放在d:/sb目錄下。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www.欧美精品| 国产精品国模在线| 欧美激情精品久久久| 国产精品r级在线| 奇门遁甲1982国语版免费观看高清| 狠狠躁18三区二区一区| 亚洲男人天堂手机在线| 国产精品a久久久久久| 91免费看视频.| 亚洲欧美日韩图片| 国产精品色悠悠| 久久影院在线观看| 国内精品一区二区三区四区| 欧美另类极品videosbestfree| 久久这里只有精品视频首页| 亚洲国产精品人人爽夜夜爽| 亚洲精品综合久久中文字幕| www.久久久久久.com| 欧美性猛交xxxx富婆弯腰| 欧美激情精品久久久久| 久久69精品久久久久久国产越南| 国产精品久久久久aaaa九色| 成人亲热视频网站| 欧美大片免费观看| 日韩视频在线免费观看| 国产97在线播放| 日韩在线观看高清| 亚洲最新视频在线| 国产精品福利无圣光在线一区| 久久五月天综合| 欧美亚洲成人网| 日韩美女免费观看| 国产精品成人一区二区三区吃奶| 91精品国产综合久久香蕉| 亚洲国产精品一区二区三区| 国产精品成人av性教育| 国产在线精品自拍| 欧美性理论片在线观看片免费| 在线丨暗呦小u女国产精品| 亚洲国产欧美在线成人app| 日韩免费在线电影| 91在线国产电影| 欧美日韩国产一区二区| 亚洲va欧美va在线观看| 成人两性免费视频| 怡红院精品视频| 国产精品一区二区三区成人| 日韩精品一区二区三区第95| 欧美性jizz18性欧美| 国产精品日韩在线播放| 日韩激情av在线免费观看| 欧美激情综合色| 神马久久久久久| 国产美女久久精品香蕉69| 91青草视频久久| 欧美日韩性视频在线| 北条麻妃一区二区在线观看| 欧美日韩国产va另类| 亚洲午夜久久久久久久| 国产精品美女在线观看| 久久久久久久久久久成人| 亚洲一区999| 欧美激情三级免费| 亚洲国产欧美一区二区三区久久| 精品一区二区三区三区| 欧美激情a在线| 亚洲丝袜在线视频| 亚洲最新av在线网站| 日本中文字幕久久看| 久久久成人的性感天堂| 热久久这里只有精品| 精品久久久香蕉免费精品视频| 国产原创欧美精品| 1769国产精品| 欧美最猛性xxxxx(亚洲精品)| 精品国产鲁一鲁一区二区张丽| 91在线视频九色| 国产精品一区二区三区久久| 国产精品久久久久免费a∨大胸| 欧美尺度大的性做爰视频| 欧美麻豆久久久久久中文| 欧美大片va欧美在线播放| 2023亚洲男人天堂| 日韩精品欧美激情| 国产精品日韩欧美综合| 日韩经典中文字幕在线观看| 精品亚洲aⅴ在线观看| 亚洲日韩第一页| 91沈先生在线观看| 亚洲国产成人av在线| 日韩精品免费在线| 久久深夜福利免费观看| 国产一区二区色| 国产欧美久久久久久| 日韩精品欧美国产精品忘忧草| 欧美性猛交xxxx免费看久久久| 国产精品人人做人人爽| 国产va免费精品高清在线观看| 中文字幕免费国产精品| 欧美极度另类性三渗透| 欧美激情影音先锋| 亚洲视频免费一区| 欧美日韩免费区域视频在线观看| 亚洲天堂影视av| 国产欧美韩国高清| 在线观看日韩专区| 久久视频在线观看免费| 欧美专区在线播放| 91精品国产综合久久男男| 韩国精品久久久999| 欧洲s码亚洲m码精品一区| 日本精品久久久久影院| 黄色精品在线看| 97久久精品人搡人人玩| 国产日韩视频在线观看| 国精产品一区一区三区有限在线| 欧美日韩亚洲系列| 成人黄色免费网站在线观看| 亚洲视频在线看| 欧美一级视频免费在线观看| 亚洲精品成人久久久| 日韩视频在线观看免费| 日韩三级成人av网| 人人澡人人澡人人看欧美| 97成人在线视频| 日韩最新在线视频| 在线观看视频99| 欧美日韩国产在线看| 久久久久久久999精品视频| 欧美一区二区色| 日韩精品福利网站| 日韩成人在线免费观看| 奇米成人av国产一区二区三区| 91久久精品国产91久久| 国产丝袜一区二区| 欧美极品欧美精品欧美视频| 国产成人精品久久亚洲高清不卡| 国产精品综合久久久| 国产日产久久高清欧美一区| 亚洲精品xxxx| 全亚洲最色的网站在线观看| 亚洲视频电影图片偷拍一区| 色综久久综合桃花网| 日韩精品在线观看一区| 日韩av在线看| 国产精品国产三级国产专播精品人| 亚洲国产精品高清久久久| 亚洲成人激情在线观看| 久久久久久久久久久亚洲| 国产一区二区三区在线视频| 91在线观看欧美日韩| 精品久久香蕉国产线看观看亚洲| 欧美在线视频a| 欧美成人小视频| 91免费在线视频网站| 欧美精品激情在线观看| 国产在线日韩在线| 2019中文字幕在线观看| 久久综合色影院| 亚洲午夜久久久久久久| 久久偷看各类女兵18女厕嘘嘘| 91亚洲人电影| 精品国产乱码久久久久酒店| 成人中文字幕在线观看|