以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【逻辑列值变后操作】收货入库,被选中后,写入库存表数据,多行数据的时候,为什么第个单据里面的货物第一行入库,不自动计算呢?要取消勾选,再次选择勾选后才自动计算实时库存。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102814)

--  作者:李孝春
--  发布时间:2017/6/26 12:58:00
--  【逻辑列值变后操作】收货入库,被选中后,写入库存表数据,多行数据的时候,为什么第个单据里面的货物第一行入库,不自动计算呢?要取消勾选,再次选择勾选后才自动计算实时库存。
【逻辑列值变后操作】收货入库,被选中后,写入库存表数据,多行数据的时候,为什么第个单据里面的货物第一行入库,不自动计算呢?要取消勾选,再次选择勾选后才自动计算实时库存。


图片点击可在新窗口打开查看此主题相关图片如下:1.gif
图片点击可在新窗口打开查看
表事件代码如下:麻烦给看看
If e.DataCol.Name = "收货入库" Then
    Dim t1 As Table = Tables("订货记录_Table1")
    If e.DataRow("收货入库")=False OrElse e.DataTable.Compute("Count([订货编号])", "订货编号 = \'" & e.DataRow("订货编号") & "\'and 收货入库=false") > 0 Then
        t1.Current("收货入库") = False
    Else
        t1.Current("收货入库") = True
    End If
    
    Dim pr1 As DataRow
    pr1 = DataTables("订货记录_Table3").sqlFind("货名 = \'" & e.DataRow("货名") & "\' And 入库编号 = \'" & e.DataRow("订货编号") & "\'")
    If pr1 IsNot Nothing Then
        If e.DataRow("收货入库")=True
            pr1("入库数量")= pr1("入库数量")  + e.NewValue - e.OldValue
            Tables("订货记录_Table3").DataTable.LoadFilter = ""
            Tables("订货记录_Table3").DataTable.Load
        Else
            pr1.Delete
            pr1.save
            Tables("订货记录_Table3").DataTable.LoadFilter = ""
            Tables("订货记录_Table3").DataTable.Load
        End If
    Else
        If e.DataRow("收货入库")=True
            Dim nr As Row = Tables("订货记录_Table3").AddNew()
            nr("货名")= e.DataRow("货名")
            nr("入库数量")= e.DataRow("数量")
            nr("入库日期")= e.DataRow("订货日期")
            nr("入库编号")= e.DataRow("订货编号")
            Tables("订货记录_Table3").DataTable.LoadFilter = ""
            Tables("订货记录_Table3").DataTable.Load
        End If
    End If
    
End If
[此贴子已经被作者于2017/6/26 14:32:57编辑过]

--  作者:有点色
--  发布时间:2017/6/26 13:43:00
--  
If e.DataCol.Name = "收货入库" Then
    Tables("订货记录_Table3").DataTable.LoadFilter = ""
    Tables("订货记录_Table3").DataTable.Load
    Dim t1 As Table = Tables("订货记录_Table1")
    If e.DataRow("收货入库")=False OrElse e.DataTable.Compute("Count([订货编号])", "订货编号 = \'" & e.DataRow("订货编号") & "\'and 收货入库=false") > 0 Then
        t1.Current("收货入库") = False
    Else
        t1.Current("收货入库") = True
    End If
   
    Dim pr1 As DataRow
    pr1 = DataTables("订货记录_Table3").sqlFind("货名 = \'" & e.DataRow("货名") & "\' And 入库编号 = \'" & e.DataRow("订货编号") & "\'")
    If pr1 IsNot Nothing Then
        If e.DataRow("收货入库")=True
            pr1("入库数量")= pr1("入库数量")  + e.NewValue - e.OldValue
        Else
            pr1.Delete
            pr1.save
            Tables("订货记录_Table3").DataTable.LoadFilter = ""
            Tables("订货记录_Table3").DataTable.Load
           
        End If
    Else
        If e.DataRow("收货入库")=True
            Dim nr As Row = Tables("订货记录_Table3").AddNew()
            nr("货名")= e.DataRow("货名")
            nr("入库数量")= e.DataRow("数量")
            nr("入库日期")= e.DataRow("订货日期")
            nr("入库编号")= e.DataRow("订货编号")
        End If
    End If
   
End If

--  作者:李孝春
--  发布时间:2017/6/26 14:32:00
--  回复:(有点色)If e.DataCol.Name = "收货入库" The...
谢谢  原来弄错了位置