線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:679
推到 Plurk!
推到 Facebook!

之前討論區的DBGRID加總細節問題

尚未結案
papalili
一般會員


發表:28
回覆:31
積分:11
註冊:2003-09-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-27 22:42:03 IP:211.76.xxx.xxx 未訂閱
之前這個討論區裡面有人問到DBGRID的加總問題 有一位chih大大這樣回答 貼一段我的做法給你參考看看...在Detailafterpost事件... 前題是你的DBGrid是Detail... procedure TForm1.DetailSQLAfterPost(DataSet: TDataSet); var Lock_Record: TBookMark; WTOTAL_PRICE: REAL; begin Lock_Record := DetailSQL.GetBookMark; DetailSQL.DisableControls; DetailSQL.first; WTOTAL_PRICE:= 0; while not DetailSQL.eof do begin //加總DBGRID的金額 WTOTAL_PRICE := WTOTAL_PRICE DetailSQLPRICE.Value; DetailSQL.Next; end; DetailSQL.first; DetailSQL.EnableControls; MasterSQL.Edit; MasterSQLtol_price.Value := WTOTAL_PRICE; DetailSQL.FreeBookMark(Lock_Record); end; 可是我有一個小小的笨問題想請教 就是啊...... procedure TForm1.DetailSQLAfterPost(DataSet: TDataSet); 這個函式是怎麼呼叫出來的啊??? 謝謝大家!!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-27 23:55:09 IP:61.62.xxx.xxx 未訂閱
procedure TForm1.DetailSQLAfterPost(DataSet: TDataSet);    這樣的狀況是指在 Form1 上有一個 DetailSQL 的 DataSet (可能是 TQuery, 或是 TDataSet 等), 它的事件(event) 中的 AfterPost 這個觸發程式. 明白了嗎? 如圖, 在該 event 的地方 double click 即可! 發表人 - timhuang 於 2003/11/28 00:00:32
papalili
一般會員


發表:28
回覆:31
積分:11
註冊:2003-09-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-29 13:28:59 IP:211.76.xxx.xxx 未訂閱
謝謝大大的講解 已經知道函式做什麼了 可是還有一個問題 就是啊..... MasterSQL.Edit; MasterSQLtol_price.Value := WTOTAL_PRICE; 這是啥東東啊 我看了很久 還是看不出個所以然來 因為我不知道 MasterSQL 這是哪個東東的宣告 又是在哪宣告的 麻煩大大了
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-29 14:11:02 IP:63.84.xxx.xxx 未訂閱
您好﹗    MasterSQL.Edit; //將MasterSQL資料集元件進入編輯狀態(dsEdit) MasterSQLtol_price.Value := WTOTAL_PRICE; //tol_price是指MasterSQL資料集元件對應的資料表中某個欄位的名稱﹐Dataset支援這種指定欄位的寫法﹐此句的用意是將WTOTAL_PRICE的值賦予資料表的tol_price欄位 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-29 18:53:58 IP:218.165.xxx.xxx 未訂閱
補充一下cashxin2002大大的講法.. MasterSQL.Edit;//如cashxin2002所述 MasterSQLtol_price.Value := WTOTAL_PRICE; 這一句我前面有宣告了WTOTAL_PRICE用來將DBGRID的金額加總後寫到單頭檔裡面tol_price的欄位,也可以這樣寫 MasterSQL.FieldByName('tol_price').Value := WTOTAL_PRICE; Hope It Help You.. TRY TRY SEE
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-29 21:51:39 IP:61.62.xxx.xxx 未訂閱
引言: 因為我不知道 MasterSQL 這是哪個東東的宣告 又是在哪宣告的 麻煩大大了
MasterSQL 是一個放在 form 上面的 Dataset 元件, 只是命名為 MasterSQL, 在我的前例是叫做 Query1 , 明白嗎?
papalili
一般會員


發表:28
回覆:31
積分:11
註冊:2003-09-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-30 01:37:42 IP:211.76.xxx.xxx 未訂閱
謝謝各位大大的精闢見解 我再試試看 若有任何的不懂 再來請教各位 謝謝
系統時間:2024-06-02 17:18:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!