以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  记录时间不一致,数据也是错误的  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=152208)

--  作者:edisontsui
--  发布时间:2020/7/9 16:08:00
--  记录时间不一致,数据也是错误的

图片点击可在新窗口打开查看此主题相关图片如下:20200709160256.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:20200709160233.jpg
图片点击可在新窗口打开查看

If e.DataCol.name = "入库数量" OrElse e.DataCol.name = "出库数量" 
    e.DataRow("出入库数量") = e.DataRow("出库数量") + e.DataRow("入库数量") 

    If e.DataRow.isnull("批号") = True
    Else
\'批号表自动更新数据
        Dim re As Boolean = False
        For Each dr As DataRow In DataTables("批号表").Select("物料编号=\'" & e.DataRow("物料编号") & "\' and 批号=\'" & e.DataRow("批号") & "\'")
            dr("库存数量") = e.DataRow("入库数量") + e.DataRow("出库数量") + dr("库存数量") - e.OldValue
            dr("批号变动记录") = "出入库变动:" & Date.now & " " & User.Name
            dr("库存数量变动记录") = "出入库变动:" & Date.now & " " & User.Name
            re = True
        Next
        If re = False
            Dim dr As DataRow
            dr = DataTables("批号表").AddNew()
            dr("批号") = e.DataRow("批号")
            dr("物料编号") = e.DataRow("物料编号")
            dr("物料名称") = e.DataRow("物料名称")
            dr("类别") = e.DataRow("类别")
            dr("来源") = e.DataRow("来源")
            dr("客户简称") = e.DataRow("客户")
            dr("库存数量") = e.DataRow("入库数量") + e.DataRow("出库数量")
            dr("批号变动记录") = "出入库变动:" & Date.now & " " & User.Name
            dr("库存数量变动记录") = "出入库变动:" & Date.now & " " & User.Name
        End If

\'2018/8/15增加此句,自动删除批号表里面库存数量=0的数据行
        DataTables("批号表").deletefor("库存数量 = 0") 

    End If
End If

上面那段代码是“出入库”的数量变动触发“批号表”的数量变化。本来,出入库之变更记录里面保存的时间和批号表里面之变动记录保存的时间应该是一样的,但是很奇怪,今天这次出入库变动的时间与批号表的变动时间就不一致,而且批号表记录的时间还慢了6秒钟。这是为什么?当然,批号表的数据也是错误的。


--  作者:有点蓝
--  发布时间:2020/7/9 16:51:00
--  
同一个电脑,还是不同电脑操作的?

两个表事件执行差几秒钟也有可能是正常的,具体看中间还会不会触发其它的代码执行