Foxtable(狐表)用户栏目专家坐堂 → datacolchanged 与 datarowdeleting 的关系


  共有2935人关注过本帖平板打印复制链接

主题:datacolchanged 与 datarowdeleting 的关系

帅哥哟,离线,有人找我吗?
edisontsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1511 积分:9801 威望:0 精华:0 注册:2014/12/18 16:12:00
datacolchanged 与 datarowdeleting 的关系  发帖心情 Post By:2021/3/23 16:22:00 [只看该作者]

数据表“出入库”的 datacolchanged 有如下代码:
'自动更新采购单的收货数量
If e.DataCol.name = "入库数量" 
        Dim dr1 As DataRow  
        dr1 = DataTables("采购单").Find("物料编号 = '" & e.DataRow("物料编号") & "' And 采购单号 = '" & e.DataRow("采购单号") & "' And  采购单行号 = '" & e.DataRow("采购单行号") & "'")
        If dr1 IsNot Nothing 
            dr1("收货数量") =  dr1("收货数量") + e.DataRow("入库数量") - e.OldValue
        End If
End If

数据表“出入库”的 datarowdeleting 有如下代码:
'自动更新采购单的收货数量
If e.DataRow.isnull("采购单号") = True  
    Else
    Dim dr As DataRow = DataTables("采购单").find("采购单号 = '" & e.DataRow("采购单号") & "' And 采购单行号 = '" & e.DataRow("采购单行号") & "' And 物料编号 = '" & e.DataRow("物料编号") & "'")
    If dr IsNot Nothing
        dr("收货数量") = dr("收货数量") - e.DataRow("入库数量")
    End If
End If

上面是“出入库”这个数据表里面的代码,如果我删除一条记录的话,采购单里面“收货数量”是否会发生两次变化,也就是说,datacolchanged 触动一次变化,datarowdeleting 又触动一次变化?我现在就发现,删除一条记录时采购单里面的“收货数量”发生了双倍的变化。不知道是什么原因?

 回到顶部