碰到个库存的难题,大伙帮忙看看
1个出库单,一个库存表
设计要求:
1.出库单保存后减库存表库存
2.出库单删除后回复库存表库存
代码如下:
减库存
Dim dr As DataRow
Dim cr As Row = Tables("出库单主表.出库单明细").Current
dr = DataTables("物料品牌明细").Find("料号 = '" & cr("料号") & "'")
If dr IsNot Nothing Then
dr("当前库存") = dr("当前库存") - cr("数量_本次交")
End If
恢复库存
Dim dr As DataRow
Dim cr As Row = Tables("出库单主表.出库单明细").Current
dr = DataTables("物料品牌明细").Find("料号 = '" & cr("料号") & "'")
If dr IsNot Nothing Then
dr("当前库存") = dr("当前库存") + cr("数量_本次交")
End If
我现在碰到个恶心的问题是
我在BEFORESAVEDATROW事件里加以“减库存”的代码,在DATAROWDELETING里放“恢复库存”的代码,当我在新增一条明细,删除后,直接就给我加上刚刚我删除的库存数去了(这种情况在实际操作中很常见,比如选错了物料的情况),刚才试了下,放在DATAROWDELETED的里呢,直接又报错。。
恢复库存的代码到底应该放在哪个事件中呢?