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

如何将adotable中的某一栏位sum并赋值到一个edit中显示出来?

答題得分者是:st33chen
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-16 11:11:30 IP:125.121.xxx.xxx 訂閱
 请教各位先进,如何将adotable(或者dbgrid)中的某一栏位sum并赋值到一个edit中显示出来?
編輯記錄
luowy651 重新編輯於 2008-01-16 13:35:17, 註解 無‧
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-16 15:30:40 IP:122.127.xxx.xxx 訂閱
1. bookmark 目前的一筆
2. adotable1.first
3. while not adotable1.eof do
i_tmp := i_tmp vartoint(adotable1['你要的欄位']);
adotable1.next;
end;
4. edit1.text := inttostr(i_tmp);
5. 回到之前的bookmark
------
努力會更接近成功
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-16 15:39:45 IP:125.121.xxx.xxx 訂閱
感谢pceyes,如果资料比较多的话,这个方法似乎会稍慢,不过,如果没有更好的方法的话,也许就只能用这个方法了,我以为delphi会有相关的如sum之类的函数可用.


===================引 用 pceyes 文 章===================
1. bookmark 目前的一筆
2. adotable1.first
3. while not adotable1.eof do
i_tmp := i_tmp vartoint(adotable1['你要的欄位']);
adotable1.next;
end;
4. edit1.text := inttostr(i_tmp);
5. 回到之前的bookmark
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-16 17:40:48 IP:122.127.xxx.xxx 訂閱
主因是你用的是adotable, 
如果用的是adoquery, sql語法應該有sum或對應的方法, 可以用搜尋找找看。
------
努力會更接近成功
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-16 17:57:42 IP:61.64.xxx.xxx 訂閱
建議你用 calculatefield 的方式處理

===================引 用 luowy651 文 章===================
感谢pceyes,如果资料比较多的话,这个方法似乎会稍慢,不过,如果没有更好的方法的话,也许就只能用这个方法了,我以为delphi会有相关的如sum之类的函数可用.


===================引 用 pceyes 文 章===================
1. bookmark 目前的一筆
2. adotable1.first
3. while not adotable1.eof do
i_tmp := i_tmp vartoint(adotable1['你要的欄位']);
adotable1.next;
end;
4. edit1.text := inttostr(i_tmp);
5. 回到之前的bookmark
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-01-16 19:07:50 IP:58.100.xxx.xxx 訂閱
能否请syntax大大再解释得详细些?

===================引 用 syntax 文 章===================
建議你用 calculatefield 的方式處理

st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-01-17 09:33:34 IP:122.116.xxx.xxx 訂閱
如果是我, 我會

1. 另外抓一個 adoquery 為 adoquery1
2. adotable 所在的 dbgrid 的 "on click" handler 取得 click 所在的欄位名, 放在 fld 字串變數
3. 設 adoquery1 的 sql.text 為
'select sum(' fld ') ttl_value from ...... where .....'
4. open adoquery1 取 ttl_value 的值存入 edit

當然, 要注意該欄位是否為數值欄, 也要處理 adotable 符合加總需求的各種條件

請試試看.
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-01-17 10:16:08 IP:125.120.xxx.xxx 訂閱
谢谢 st33chen,我试了下,很不错!感恩!
同时感谢以上所有回复的朋友,感恩!

===================引 用 st33chen 文 章===================
如果是我, 我會

1. 另外抓一個 adoquery 為 adoquery1
2. adotable 所在的 dbgrid 的 "on click" handler 取得 click 所在的欄位名, 放在 fld 字串變數
3. 設 adoquery1 的 sql.text 為
'select sum(' fld ') ttl_value from ...... where .....'
4. open adoquery1 取 ttl_value 的值存入 edit

當然, 要注意該欄位是否為數值欄, 也要處理 adotable 符合加總需求的各種條件

請試試看.
系統時間:2024-05-14 3:39:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!