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

如何統計afterpost后的某一字段數据的和?

尚未結案
HarryZhang
一般會員


發表:19
回覆:25
積分:8
註冊:2003-01-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-11 15:54:50 IP:61.144.xxx.xxx 未訂閱
在ADOdetail 表中insert一條記錄, 如何在afterpost后統計某一個字段的數据和 ? Harry Zhang
------
Harry Zhang
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-11 15:59:34 IP:61.221.xxx.xxx 未訂閱
您好:  
Var
  i:integer;
begin
i:=0;
adodataset6.first;
while not adodataset6.Eof do 
begin
  i:= i adodataset6.FieldByName('total').value;
  adodataset6.next;
end;
 
~~應無所住而生其心~~
HarryZhang
一般會員


發表:19
回覆:25
積分:8
註冊:2003-01-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-11 16:10:35 IP:61.144.xxx.xxx 未訂閱
能否用一條語句? 其實我只想實現一個主從表,在從表insert一條記錄,主表的數据會更新(所有從表進的數減去出的數).我該如何去實現?謝 Harry Zhang
------
Harry Zhang
HarryZhang
一般會員


發表:19
回覆:25
積分:8
註冊:2003-01-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-11 16:26:46 IP:61.144.xxx.xxx 未訂閱
DM.ADOQfixturecal.Value:=dm.ADOdetailQtyin.Value-Dm.ADOdetailQtyout.Value; 這條語句是不是對一條記錄進行記算? Harry Zhang
------
Harry Zhang
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-11 16:32:33 IP:211.22.xxx.xxx 未訂閱
沒錯 只對一筆資料算 你要合計 用SQL語法處理
 SELECT         SUM(A欄位- B欄位) AS Total
FROM             TABLE
where 對應主表單號 
這樣再去取出Total就可以了 ~~應無所住而生其心~~
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-11 21:00:59 IP:218.32.xxx.xxx 未訂閱
補充一下, 另一種做法: 用 Database 的 Trigger (觸發器), 建在 Detail Table, 當 Insert/Update/Delete 時, 都去 Update Master Table 的總合欄位, 這樣做, 不管是否是用你的程式, 去異動 Detail Table , 都能維持這個 "加總" 的關係.
HarryZhang
一般會員


發表:19
回覆:25
積分:8
註冊:2003-01-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-12 08:17:17 IP:61.144.xxx.xxx 未訂閱
可否贴出代码?谢谢,在线等! Harry Zhang
------
Harry Zhang
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-03-12 23:31:54 IP:218.32.xxx.xxx 未訂閱
代碼 ?    Oracle PL/SQL :
create or replace trigger [TriggerName]
After Insert or Update or Delete
on DetailTable
begin
  update MasterTable set SumColumn = (select sum(DetailColumn) from 
    DetailTable where MasterTable.PK=Detail.FK and
    ((Detail.PK=:New.PK) or (Detail.PK=:Old.PK));
end;
MSSQL / Sybase T-SQL :
create trigger [TriggerName] on DetailTable
for Insert , Update , Delete
as
begin
  update MasterTable set SumColumn = (select sum(DetailColumn) from 
    DetailTable where MasterTable.PK=inserted.FK or MasterTable.PK=deleted.FK
end
發表人 - Mickey 於 2004/03/12 23:34:14
系統時間:2024-06-26 18:19:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!