DBGrid 加總要寫在哪裡比較好 |
尚未結案
|
carter6
初階會員 發表:53 回覆:108 積分:42 註冊:2002-12-16 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
引言: 1. 請問小計的計算程式應要寫哪?先在你的Query裡面 new 一個虛擬欄位..TOTAL.. 小計寫在數量Validate事件.. procedure TForm1.Query1數量Validate(Sender: TField); begin if Query1.State=dsBrowse then exit; Query1.FieldByName('TOTAL').Value=Query1.FieldByName('數量').Value*Query1.FieldByName('單價').Value; end; 然後再將 單價 的Validate指向該數量Validate事件... 引言:2. 我還有一個 DBEdit 是 總價 加總程式又要寫哪呢? Carter貼一段我的做法給你參考看看...在queryafterpost事件... procedure TForm1.query1AfterPost(DataSet: TDataSet); var Lock_Record: TBookMark; WTOTAL_PRICE: REAL; begin Lock_Record := query1.GetBookMark; query1.DisableControls; query1.first; WTOTAL_PRICE:= 0; while not query1.eof do begin //加總DBGRID的金額 WTOTAL_PRICE := WTOTAL_PRICE query1PRICE.Value; query1.Next; end; query1.first; query1.EnableControls; Query2.Edit;//假設你的DBEdit DataSource是Query2 Query2.FieldByName('TOTAL').Value:= floattostr(WTOTAL_PRICE);//加總的金額 Query2.Post; query1.FreeBookMark(Lock_Record); end; TRY TRY SEE.. |
carter6
初階會員 發表:53 回覆:108 積分:42 註冊:2002-12-16 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi carter6兄您好:
想請問你的小計欄位是資料庫裡面就有的欄位嗎?
通常我會在Design Time時, 在DataSet的Field Edit多加一個Calculated欄位, 並在DataSet的OnCalculate事件寫以下程式碼
Query1.FieldByName('CalculatedFieldName').AsInteger := Query1.FieldByName('數量').AsInteger * Query1.FieldByName('單價').AsInteger;我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
carter6
初階會員 發表:53 回覆:108 積分:42 註冊:2002-12-16 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
引言: 謝謝chih 大大的答覆 : 可是我裡面已經有一個 小計 的欄位了 還要設一個 TOTAL 嗎 ?? 我學的還不是很深不好意思問那麼淺的問題... Carter如果你已經有一個實體欄位,那就不用設TOTAL了.改為 procedure TForm1.Query1數量Validate(Sender: TField); begin if Query1.State=dsBrowse then exit; Query1.FieldByName('小計').Value=Query1.FieldByName('數量').Value*Query1.FieldByName('單價').Value; end; |
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |