为什么不在SQL语句里做计算
ADOQuery1.SQL.Text := 'Select 单价,数量,合计=单价*数量
From yourtable';
ADOQuery1.Open;如果不在SQL语句作计算,可以这样试试(将修改数据库记录)
ADOQuery1.Edit;
ADOQuery1.FieldByName('合计').value := ADOQuery1.FieldByName('数量').AsInteger*ADOQuery1.FieldByName('单价').AsCurrency;
ADOQuery1.Active := False;
ADOQuery1.Active := True;
ADOQuery1.SQL.Text := 'Select 单价,数量,合计=单价*数量
From yourtable';
ADOQuery1.Open;如果不在SQL语句作计算,可以这样试试(将修改数据库记录)
ADOQuery1.Edit;
ADOQuery1.FieldByName('合计').value := ADOQuery1.FieldByName('数量').AsInteger*ADOQuery1.FieldByName('单价').AsCurrency;
ADOQuery1.Active := False;
ADOQuery1.Active := True;
我按你的第一种方法试了,还是不行,合计的值还是为零
第二种我还没试;
to fs_windy(飛龍) :
我的计算字段应该没问题,而且我也是在运行时查看结果的
第二中方法我也试了,还是不行,是不是有什么别的原因?
大家在表中计算合值时如何使的,用什么东西?
我都快一个下午了,没能出来。
ADOQuery1.SQL.Text := 'Select 单价,数量,合计=单价*数量
---->>>>
ADOQuery1.SQL.Text := 'Select 单价,数量,单价*数量
呵呵,真是的
我用的是Access2000
在OnCalcField事件中计算字段名.values:=ADOQuery1.field('单价').AsCurrency*ADOQuery1.field('数量').asinteger;
你试试看!
原来是这样:
ADOQuery1.SQL.Text := 'Select 单价,数量,合计=单价*数量
---->>>>
ADOQuery1.SQL.Text := 'Select 单价,数量,单价*数量
呵呵,真是的
我用的是Access2000
-----------------------------------------------------------上面SQL.Text写错了,改为如下:
ADOQuery1.SQL.Text := 'Select 单价,数量 From 你的表'而右键单击ADOQuery1添加一个计算字段问题就OK啦