国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > 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目錄下。


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

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
av免费在线一区二区三区| 国产在线你懂得| 资源视频在线播放免费| 久草视频国产| 欧美专区日韩| 欧美人成在线观看网站高清| av中文网站| 久草视频国产| 久久久久久77777| 国产区卡一卡二卡三乱码免费| 日本不卡1区2区3区| 亚洲成人av在线影院| 阿v免费在线观看| √天堂资源地址在线官网| 中文一区在线观看| 精品网站www| 怡红院av在线| www.xxx黄| 国产精品综合久久久久| 日本中文字幕高清视频| 18加网站在线| www免费在线观看| 91久久精品国产性色| 欧美日韩久久中文字幕| 91在线最新| 国产一级二级在线| 超碰在线网址| 欧美国产中文| 伊人伊人av电影| 国产日韩网站| 最好2018中文免费视频| v天堂福利视频在线观看| 国产欧美久久久久久久久 | 美女被人操视频在线观看| 国产h色视频在线观看| 国产亚洲精品午夜高清影院| 国产剧情av在线| 国产美女福利在线| 久久久久久77777| 九九热在线免费视频| 麻豆国产在线视频| 免费高清av| 激情五月色综合亚洲小说| 日本不卡影院| 丁香婷婷激情| 国产丝袜精品丝袜| 国产精选在线观看| 国产精品午夜久久久久久| 国产在线小视频| 91caoporn在线| 中文字幕视频在线观看| 午夜国产在线| 伊人电影在线观看| 久热久精久品这里在线观看| 国产在线黄色片| 国产人成在线观看| 99精品老司机免费视频| 亚洲综合在线不卡| 免费一区二区在线观看| 国产亚洲精品久久久网站好莱| 国产特黄在线| 国产98在线| av免费在线观| 丁香花在线电影| 精品一区二区三区在线成人| 天堂网中文在线| 最近免费中文字幕在线第一页| 国产精品久久在线| 国产裸舞福利在线视频合集| 黄色免费av| 在线亚洲精品自拍| 国产麻豆免费| 亚洲综合在线免费| 国产婷婷视频在线| 亚洲最新永久观看在线| 国产精品㊣新片速递bt| 国产精品国精产品一二| 热99在线观看| 2018中文字幕在线观看| 国产麻豆免费| 另类视频在线| 天天插天天操| 国产变态拳头交视频一区二区| 爱福利在线视频| 国产第一页在线视频| 国产麻豆一级片| 欧美艹逼视频| 一本大道五月香蕉| 国产二级片在线| 国产视频福利| 国产系列在线观看| 超碰在线97国产| 欧美性猛交xxxx免费看蜜桃| av片在线观看| 在线国产一级| 99福利在线| 亚洲第一成年免费网站| 在线免费观看污| 2021天堂中文幕一二区在线观| 天堂中文字幕在线| 国产在线免费观看| 丁香综合五月| 国产乱视频在线观看播放| 狠狠干婷婷色| 人成在线免费视频| 免费观看久久久久| 久久久久久国产视频| 免费高清视频日韩| 中文字幕视频在线观看| 国产高清在线a视频大全| 依依成人在线| 免费看ww视频网站入口| 超碰人人在线| 国产乱人视频免费播放| 国产精品伦一区二区三区级视频频| 国产一级视频| 精品国产白色丝袜高跟鞋| 天堂√中文在线| 日韩av成人| 亚洲字幕成人中文在线观看| 国产专区在线播放| 综合激情丁香| 伊人网在线免费观看| 亚洲人成影院在线| 最近中文字幕mv免费高清视频8 | 亚洲а∨精品天堂在线| 久青青在线观看视频国产| 天天操夜夜操天天射| 99reav在线| 日本中文字幕在线看| 精品国产福利一区二区在线| 交换国产精品视频一区| 国产卡1卡2卡三卡在线| 亚洲精品白浆| 国产欧美日韩第一页| 爱福利在线视频| 精品无人乱码| 国产午夜精品久久久久免费视| 在线视频xx| 国产二区三区在线| 国产免费福利| 欧美96在线| av中文资源在线| 精品国产99久久久久久| 99视频资源网| 九九热视频免费观看| 一区二区精品区| 国产亚洲精品久久久网站好莱| 青青草视频在线观看| 国产成a人亚洲精v品| 国产精品久久一区二区三区不卡| 国产麻豆视频网站| 天天操天天射天天插| 国产在线视频网站| 青青草观看免费视频在线| 日韩欧美中文字幕不卡| 在线āv视频| 中文av在线播放| 精品一二三四| 亚洲人av在线| 青青草免费在线观看| 日本成人网址| 在线久久视频| 日本不卡影院| 91av久久| 91涩漫在线观看c| 尤物视频在线观看视频| 亚洲免费网站在线观看| www.香蕉视频在线观看| 麻豆精品传媒视频观看| 九九在线观看免费视频| 国产小视频在线高清播放| 2019中文字幕视频| av在线免费播放网站| 蜜桃视频中文字幕| 国产色在线 com| 精品街拍一区二区| 999在线视频| www.操操操| 午夜视频99| 99reav| 成人午夜无人区一区二区| 国产天堂在线| 四虎在线免费视频| 国产三级免费观看| 人人干人人插| 国产精品免费视频二三区| 亚洲电影视频在线| 综合激情丁香| gogo高清在线播放免费| 国产美女福利在线观看| 92久久精品| 九九色在线观看| 国产高潮av| 九九热免费在线视频| 在线观看中文字幕的网站| 国产一二区在线观看| 久久久久久77777| sm国产在线调教视频| 在线国产三级|