以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于数量金额反算问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54560) |
-- 作者:magangzmc -- 发布时间:2014/7/30 16:56:00 -- 关于数量金额反算问题 假如有数量、单价、金额三个字段,当修改数量的值后时候,金额=数量*单价 当修改单价的值后时候,金额=数量*单价 当修改金额的值后时候,单价=金额/数量
我在DataColChanged事件中代码如下 Select Case e.DataCol.Name
当我修改金额的时候,结果会由于重复反算导致与我输入的金额数值有误差,如: 输入数量:7,单价为空,输入金额:20
结果就会变成: 数量:7,单价:2.86(计算得出),金额:20.02(由于单价字段值改变了,重新计算金额)
如何避免重复计算呀? |
-- 作者:有点甜 -- 发布时间:2014/7/30 17:09:00 -- Select Case e.DataCol.Name Case "iQuantity" If e.DataRow.Isnull("iPrice") Then e.DataRow("iPrice")=e.NewValue * e.DataRow("iUnitPrice") Case "iUnitPrice" If e.DataRow.Isnull("iPrice") Then e.DataRow("iPrice")=e.NewValue * e.DataRow("iQuantity") Case "iPrice" If e.DataRow.Isnull("iUnitPrice") Then e.DataRow("iUnitPrice")=e.NewValue / e.DataRow("iQuantity") End Select |
-- 作者:有点甜 -- 发布时间:2014/7/30 17:10:00 -- 或者
SystemReady = False |