以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]库存统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188708)

--  作者:Xmihu
--  发布时间:2023/10/12 17:00:00
--  [求助]库存统计
表格:资材信息表(库存)、入库主表、入库明细表、出库主表、出库明细表

资材信息表的DataColChanged:
If e.DataCol.Name = "资材编号" Then
    Dim Filter As String = "[资材编号] = \'" & e.NewValue & "\'"
    e.DataRow("现库存") = DataTables("入库明细表").Compute("Sum(入库数量)", Filter)
End If

入库明细表的DataColChanged:
Select Case e.DataCol.Name
    Case "入库数量"
        Dim pr As DataRow
        pr = DataTables("资材信息表").Find("资材编号 = \'" & e.DataRow("资材编号") & "\'")
        If pr IsNot Nothing Then
            DataTables("资材信息表").DataCols("资材编号").RaiseDataColChanged(pr)
        End If
End Select

刚开始用,搞不懂,以上根据帮助改的,出库明细表也同样设置,想在资产明细表(库存)中加入期初库存,现库存实时更新。现库存=期初+入库-出库,求码。(用表达式一直出错)图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2023/10/12 17:05:00
--  
资材信息表的DataColChanged
If e.DataCol.Name = "资材编号" Then
    Dim Filter As String = "[资材编号] = \'" & e.NewValue & "\'"
    e.DataRow("现库存") = e.DataRow("期初")  + DataTables("入库明细表").Compute("Sum(入库数量)", Filter) - DataTables("出库明细表").Compute("Sum(入库数量)", Filter) 
End If

--  作者:Xmihu
--  发布时间:2023/10/12 20:57:00
--  [求助]库存统计
谢谢!原来是错在期初上了。简单的框架完成了,继续学习