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

把金额栏位的数值sum 并实时显示在一个label上

缺席
luowy651
高階會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-23 08:57:43 IP:125.120.xxx.xxx 訂閱
各位大大,不好意思,又有问题了:

比如我有三个栏位,一个是"数量",一个是"单价",最后一个是"金额",并把"金额"
栏位设成fkCalculated后,当数量或单价变化时,金额也会实时变化.

我现在想要实现的是,我想把金额栏位进行sum,并把数值放到一个label1.caption中,然后也要随时实时显示出来,这可以做到吗?
我的code如下,不过,后面那一段sql却没起作用

procedure Tfm_xhd.ADOTable1CalcFields(DataSet: TDataSet);
begin
adotable1.FieldByName('je').Asfloat := adotable1.FieldByName('dj').Asfloat * adotable1.FieldByName('sl').Asfloat;
adoquery2.close;
adoquery2.sql.clear;
adoquery2.sql.add('select sum(je)');
adoquery2.sql.add('from xhdnr_temp1');
adoquery2.open;
label11.caption:=adoquery2.Fields[0].AsString ' 元';
end;
編輯記錄
luowy651 重新編輯於 2008-01-23 08:59:04, 註解 無‧
luowy651 重新編輯於 2008-01-23 08:59:46, 註解 無‧
yubad2000
中階會員


發表:0
回覆:44
積分:78
註冊:2007-09-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-23 12:12:07 IP:66.171.xxx.xxx 未訂閱
Why don't  you just select sum(dj*sl) as "je" from table1 in adoquery2?
Then, you still have total amount wihtout using "je" field.

===================引 用 luowy651 文 章==================
各位大大,不好意思,又有问题了:

比如我有三个栏位,一个是"数量",一个是"单价",最后一个是"金额",并把"金额"
栏位设成fkCalculated后,当数量或单价变化时,金额也会实时变化.

我现在想要实现的是,我想把金额栏位进行sum,并把数值放到一个label1.caption中,然后也要随时实时显示出来,这可以做到吗?
我的code如下,不过,后面那一段sql却没起作用

procedure Tfm_xhd.ADOTable1CalcFields(DataSet: TDataSet);
begin
adotable1.FieldByName('je').Asfloat := adotable1.FieldByName('dj').Asfloat * adotable1.FieldByName('sl').Asfloat;
adoquery2.close;
adoquery2.sql.clear;
adoquery2.sql.add('select sum(je)');
adoquery2.sql.add('from xhdnr_temp1');
adoquery2.open;
label11.caption:=adoquery2.Fields[0].AsString ' 元';
end;
------
===波士頓夜未眠===
What a wonderful world!!
Jazz up the world with jazz!!
==================

When I am not programming...
you can find me here:
http://www.holy-war.de/EN/World3/bin/?advertiser=63190
luowy651
高階會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-24 09:42:10 IP:125.120.xxx.xxx 訂閱
感谢楼上大大的关注,我已找到方法了:

procedure Tfm_xhd.ADOTable1CalcFields(DataSet: TDataSet);
begin
adotable1.FieldByName('je').Asfloat := adotable1.FieldByName('dj').Asfloat * adotable1.FieldByName('sl').Asfloat;
end;

procedure Tfm_xhd.DBGrid1ColExit(Sender: TObject);
var i:real;
j:string;
begin
adotable1.first;
i:=0;
while not adotable1.eof do
begin
i:= i adotable1.FieldByName('je').Asfloat;
adotable1.next;
end;
j:=format('%9.2f',[i]);
label1.caption:=j ' 元';
end;
系統時間:2024-05-13 9:06:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!