以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论] 代码不执行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=106070)

--  作者:KWK001
--  发布时间:2017/9/1 14:47:00
--  [讨论] 代码不执行?
做了个出入库的系统,运行了一段时间后,先发现代码有问题?

数量发生变化后,库存表中的数量没有变化?

If e.DataCol.Name = "管理号码" Then \'发生变化的是产品编号吗?
    
    e.DataRow("数量") = DataTables("入库").Compute("Sum(数量1)","[管理号码] = \'" & e.NewValue & "\'")
    
    e.DataRow("数量") = Format(val(e.DataRow("数量")),"0")
End If

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    e.DataRow("数量") = Format(val(e.DataRow("数量")),"0")
    pr = DataTables("库存").Find("背番号 = \'" & e.DataRow("背番号") & "\'")
    If pr IsNot Nothing Then
        pr("入库_数量")= pr("入库_数量") + val(e.NewValue) - val(e.OldValue)
    End If
End If


--  作者:有点甜
--  发布时间:2017/9/1 14:51:00
--  

加入msgbox,是否触发了事件?

 

msgbox(e.datacol.name)

If e.DataCol.Name = "数量" Then

    msgbox(e.newvalue)
    Dim pr As DataRow
    e.DataRow("数量") = Format(val(e.DataRow("数量")),"0")
    pr = DataTables("库存").Find("背番号 = \'" & e.DataRow("背番号") & "\'")
    If pr IsNot Nothing Then
        msgbox("111")
        pr("入库_数量")= pr("入库_数量") + val(e.NewValue) - val(e.OldValue)
    End If
End If