如何计算两个字段...让它在第三个字段里...(20分)

  • 主题发起人 主题发起人 why_119
  • 开始时间 开始时间
W

why_119

Unregistered / Unconfirmed
GUEST, unregistred user!
**************************************
如何计算两个字段...让它在第三个字段里...
************************
 
使用计算字段就行了,
 
咋用啊...
 
on 单价或数量字段 Change
ADOQRY.FieldByName('金额').AsCurrency:=ADOQRY.FieldByName('单价').AsCurrency * ADOQRY.FieldByName('数量').Value;
 
设表:table1,字段1:f1; 字段2:f2; 字段3:f3;
1.第三个字段f3的类型为calcufield;
2.将table1的autocalcufield属性设为true;
3.在table1的oncalcufield事件中写代码:
table1f3.value:=table1f1.value*table1f2.value
 
在paradox型数据库中
字段1,字段2,字段3
字段3=字段1+字段2
可以如下写:
select 字段1,字段2,字段1+字段2 as 字段3
from table
[:)]
 
提问的兄弟 最好说清是用什么 数据库系统

才好说 怎么 用 计算 字段.

同意: jadyyarcoo
 
[:)]在delphi中,双击table,在字段编辑器中,new field,并设type为calculate
在编码中:f3为f1和f2
的合即可。
可以看帮助
 
对不起.....我没说清

我用的是DBF的数据库了....

我想把‘数量’和‘金额’相除了....都为数值型....
 
你可以 SQL 算好了, 再写入 数据库

select field1 ,field2 , field1/field2 from table1
 
为什么不用table字段1的onvalidate事件里计算呀,这样一输入字段1就可以算出字段3了!计算字段其实应该少用,
因为无论什么动作都可以引发oncalcfields事件,这样会重复计算好多次,严重降低程序拆行的时间!
 
如何写呀.....
*************
 
To: Why_119

只要你能保证 field2 不会有 0 出现的话, 我试了

select field1 ,field2 , field1/field2 from table1

就完全可以了. 哪 Field2 有 0 或不正常数据, 系统会报错.
 
to : 山猫

我的 Field2 有 0....
 
TO Why_119:

先找出有 field2 中有 0 的, 或不正常格式的, 单算 再

select field1 ,field2 , field1/field2 from table1 where field2<>0
 
to 山猫
select field1 ,field2 , field1/field2 from table1 where field2<>0
以上如何写到field3中呢......
**************************
***************************
我说明一下:
(field1/field2 相除后是小数因为是单价...我应如何作...)
我用计算字段试了一下.有错....
*************************

 
before post 事件
field3.asfloat := field1.asfloat/field2.asFloat
 
select f1,f2 from ***
adoquery1.fieldbyname('f1').value:=edit1.text;
adoquery1.fieldbyname('f2').value:=eidt2.text;
if f2= then
begin
f3:=0;
end
else begin
f3:=f1/f2;
end;
 
后退
顶部