我想让用户输入字段“入库单价”和字段“入库数量”后,字段“入库金额”自动为他们两个的积,不是人为的输入,应该怎么做呢?(100分)

  • 主题发起人 主题发起人 人鱼公主:)
  • 开始时间 开始时间

人鱼公主:)

Unregistered / Unconfirmed
GUEST, unregistred user!
我想让用户输入字段“入库单价”和字段“入库数量”后,字段“入库金额”自动为他们两个的积,不是人为的输入,应该怎么做呢?
我使用的是DBGrid1和Navigator1

 
在DBGrid中直接输入不好吧?
 
在线等侍答复,谢谢
 
数据库中不要设入库金额字段.在table中增加一个计算字段即可
 
可以在dataset的BEFOREPOST事件中,做计算
入库金额 := 入库数量*入库单价
 
可以用触发器,在可以象 Tom Hacker 那样在BEFOREPOST中计算添入.
 
我的要求就是直接输入一部分字段,别一部分字段值由输入的字段值记算得出
 
楼上说法有道理,但在实际中,有时可能要计算的金额有含税和无税的
写在数据库中,方便查询
 
添加一个计算字段就可以轻松搞定。在table控件中新建一个字段,设为计算字段。然后在
计算字段的事件中,写上你要计算的公式,就可以了
 
添加一个计算字段:计算金额,在Table的OnCalFields中写
计算金额 := 入库数量*入库单价
如果数据表中有入库金额,
则在Table的beforePost中写
入库金额 := 计算金额
DBGrid中不要显示入库金额,而显示计算金额
 
同意楼上的
 
还有就是在DATASET的字段编辑器中(field editor)的相应字段的onsettext事件中,通过
参数text计算
 
计算字段
 
我这有一些自己的源码,涉及MIS的如有需要,可留下e-mail
 
谢谢大家,我试试看
 
DBGrid1KeyPress事件:
if KEY=#?? (回车或TAB的键值,根据习惯而定) then
if DBGrid1.SelectedIndex=(入库金额或入库单价的行) then
DBGrid1.dataset.fieldbyname('入库金额').AsCurrency:=DBGrid1.dataset.fieldbyname('入库单价')..*..('入库数量)'..;
 
我的mail为zj@hanmmer.com.cn
 
邮件已发
 
To Tom Hacker:
我想要一份 thx
catfox@163.net
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部