全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1164
推到 Plurk!
推到 Facebook!

請問如何報表內作合計的功能~

答題得分者是:pillar62
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-07 15:04:11 IP:61.221.xxx.xxx 未訂閱
請問各位~ 第一次使用Delphi的報表設定~所以~利用書本範例作一些改變~ 首先畫面有個[預覽]按鈕處理如下~ QuickReport2.ADOQuery1.SQL.Clear; QuickReport2.ADOQuery1.SQL.Add(SQL1); QuickReport2.ADOQuery1.Open; QuickReport2.DataSet := Unit2.QuickReport2.ADOQuery1; QuickReport2.QRDBText1.DataSet := Unit2.QuickReport2.ADOQuery1; QuickReport2.QRDBText1.DataField := 'EC002'; QuickReport2.QRLabel1.Caption := '製品名'; ...... QuickReport2.Preview; ----------------------------------------------------------------- 在報表處理方面~如下 procedure TQuickReport2.SummaryBand1AfterPrint(Sender: TQRCustomBand; BandPrinted: Boolean); begin total := total ADOQuery1.FieldByName('EC003').AsCurrency; end; procedure TQuickReport2.SummaryBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin QRLabel8.Caption :='合計' FloatToStr( total ); end; ------------------------------------------------------ 請問各位~以上的處理方面似乎無法作到值的加總~ 麻煩大家~是否那裡設定有誤~ 我該如何去設定~ ^^
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-07 15:33:33 IP:210.64.xxx.xxx 未訂閱
你好 如果你有實體欄位,在summary band裡面可以放qrExpr 在裡面的expression裡面做 sum(query.field) 就可以做到合計的功能啦!!試試看吧!! Pillar Wang
------
Pillar Wang
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-07 15:38:59 IP:202.145.xxx.xxx 未訂閱
引言: 請問各位~ 第一次使用Delphi的報表設定~所以~利用書本範例作一些改變~ 首先畫面有個[預覽]按鈕處理如下~ QuickReport2.ADOQuery1.SQL.Clear; QuickReport2.ADOQuery1.SQL.Add(SQL1); QuickReport2.ADOQuery1.Open; QuickReport2.DataSet := Unit2.QuickReport2.ADOQuery1; QuickReport2.QRDBText1.DataSet := Unit2.QuickReport2.ADOQuery1; QuickReport2.QRDBText1.DataField := 'EC002'; QuickReport2.QRLabel1.Caption := '製品名'; ...... QuickReport2.Preview; ----------------------------------------------------------------- 在報表處理方面~如下 // 下面SummaryBand1AfterPrint表示印完後才加總total,所以SummaryBand1BeforePrint的值當然也就不會加總囉,改成如下看看: procedure TQuickReport2.SummaryBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin total := total ADOQuery1.FieldByName('EC003').AsCurrency; QRLabel8.Caption :='合計' FloatToStr( total ); end; procedure TQuickReport2.SummaryBand1AfterPrint(Sender: TQRCustomBand; BandPrinted: Boolean); begin total := total ADOQuery1.FieldByName('EC003').AsCurrency; end; procedure TQuickReport2.SummaryBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin QRLabel8.Caption :='合計' FloatToStr( total ); end; ------------------------------------------------------ 請問各位~以上的處理方面似乎無法作到值的加總~ 麻煩大家~是否那裡設定有誤~ 我該如何去設定~ ^^
堅持從洗馬桶做起 Eric
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-07 16:56:36 IP:61.221.xxx.xxx 未訂閱
謝謝~pillar62和huangeider~ Hi pillar62~ 您所說的方式~ 因為ADOQuery1內資料在Unit1指定~ 所以~無法在expression內看不到ADOQuery1看到有什麼欄位~ Hi huangeider~ 您所說的方式~我試過嘍~ 好像也沒有作加總的動作~ 謝謝你們~
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-07 17:06:07 IP:210.64.xxx.xxx 未訂閱
你好 沒看到也沒有關係啊!!你可以指定就可以啦!!你的report的dataset有指定到QuickReport2.ADOQuery1,那在summaryband裡面的qrexpr裡面的expresion就可以直接打sum(ADOQuery1.field)這樣就可以了喔!!試試看吧!! Pillar Wang
------
Pillar Wang
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-07 17:17:09 IP:61.221.xxx.xxx 未訂閱
謝謝~pillar62~ ok^_______^
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-07 17:21:01 IP:210.64.xxx.xxx 未訂閱
請問一下是可以了嗎?? Pillar Wang
------
Pillar Wang
系統時間:2024-04-29 14:19:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!