If e.DataCol.Name = "出库数量" Then
Dim dr221 As DataRow = DataTables("批号表").Find("物料编号 = " & "'" & e.DataRow("物料编号") & "' and 批号 = '" & e.DataRow("批号") & "' and 库位代号 = '" & e.DataRow("库位代号") & "' ")
If dr221 IsNot Nothing Then
If e.newvalue > dr221("库存数量") Then
e.DataRow("出库数量") = dr221("库存数量")
Dim dra As Row = Tables("出入库").AddNew()
dra("出入库单号") = e.DataRow("出入库单号")
dra("指采销单号") = e.DataRow("指采销单号")
dra("指采销行号") = e.DataRow("指采销行号")
dra("物料编号") = e.DataRow("物料编号")
dra("指采销行号") = e.DataRow("指采销行号")
dra("数量") = e.newvalue - dr221("库存数量")
End If
End If
End If
上面代码的目的是:当在“出入库”这个表的“出库数量”一列发生变化时(比如是2000),就会去“批号表”那里找同物料编号、同批号、同库位代号的物料,看看其“库存数量”是多少(比如有1500)。此时,库存不够出货,当前“出库数量”就会自动变为1500,同时在“出入库”里面自动新增一行数据,把剩余的500个无法出货的数据填入新增这行来。但是,现在执行起来,新增行的代码无效,估计是新增行时无法记住尚未出货的500这个数据。请问要怎样修改代码呢?谢谢。