以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  库存统计疑问  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124347)

--  作者:zaq3574020
--  发布时间:2018/9/4 20:42:00
--  库存统计疑问
http://www.foxtable.com/webhelp/scr/1472.htm
根据以上的例子,学习试着写。    需求:库存表=入库单-出库单-销售单
那上面的例子需要我库存表里面有对应的货号,然后可以跟随改变,那问题是 我现在如果入库单是新增,库存表里面需要怎么跟着新增呢。

--  作者:有点蓝
--  发布时间:2018/9/4 20:42:00
--  
比如:

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    pr = DataTables("统计").Find("产品 = \'" & e.DataRow("产品") & "\'")
    If pr IsNot Nothing Then
        pr("数量")= pr("数量") + e.NewValue - e.OldValue
    Else
        pr = DataTables("统计").AddNew
        pr("产品")= e.DataRow("产品")
        pr("数量")= e.NewValue
    End If
End If

--  作者:zaq3574020
--  发布时间:2018/9/5 17:10:00
--  
库存表=入库明细-出库明细-销售明细  然后需要根据  货号颜色仓库 这3个字段进行划分,然后生成表 不是组合统计结果这种临时的表,我只需要最后的结果,然后是需要可以存到我的外部数据表中的,因为我需要库存表关联其他的表,取得一些其他的列
--  作者:zaq3574020
--  发布时间:2018/9/5 17:10:00
--  附件
为啥附件传不上去   
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.table

[此贴子已经被作者于2018/9/5 17:11:27编辑过]

--  作者:有点甜
--  发布时间:2018/9/5 18:03:00
--  
Select Case e.DataCol.name
    Case "货号", "颜色", "仓库"
        Dim filter As String = "货号=\'" & e.DataRow("货号") & "\' and 颜色=\'" & e.DataRow("颜色") & "\' and 仓库=\'" & e.DataRow("仓库") & "\'"
        For Each dc As DataCol In e.DataTable.DataCols
            If dc.name.StartsWith("尺码_") Then
                Dim sum1 = DataTables("入库明细").Compute("sum(" & dc.name & ")", filter)
                Dim sum2 = DataTables("出库明细").Compute("sum(" & dc.name & ")", filter)
                Dim sum3 = DataTables("销售明细").Compute("sum(" & dc.name & ")", filter)
                e.DataRow(dc.name) = sum1-sum2-sum3
            End If
        Next
End Select