材料库存问题 。
有一个入库表,及它的关联表入库表.入库明细。入库表的金额=其明细的金额合计(不用表达式计算)
入库表.入库明细的datacolchanged中有计算明细金额及重置入库表的代码
select case e.datacol.name
case "数量",“单价”
e.datarow("金额") = e.datarow("数量")*e.datarow("单价")
DataTables("入库表").DataCols("编号").RaiseDataColChanged()
end select
设计一个选择材料目录的模式窗口,批量向入库表.入库明细中添加数据。
现在批量添加数据已经完成,问题出在计算入库明细的金额、以及入库表的金额合计上。
从窗口选择了材料并输入了材料的入库数量、单价之后,点添加按钮,关闭窗口,在入库表.入库明细的界面上,材料是加上了,但金额并不执行计算,手工去选择“数量”或“单价”列,重置,才会计算明细金额及入库表的金额合计
于是去窗口中的BeforeClose事件中,增加代码
Tables("
入库表.入库明细 ").Cols("数量").DataCol.RaiseDataColChanged()
这样,倒是可以在关闭窗口之后,金额自动计算了。
新问题出现:即使我这次只增加了一种材料,点了窗口的关闭按钮,总有那么六七秒钟,界面呈假死状态,把这段代码放到窗口的AfterClose事件中,仍然一样。
请教:是本身重置就需要这么长时间,还是在哪里的应用出了问题?