以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求帮忙,非常感谢,入库问题!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79669)

--  作者:hujincheng
--  发布时间:2016/1/7 9:43:00
--  求帮忙,非常感谢,入库问题!

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

如图所示,根据型号入库了,但是我想分开,
比如,sw01  均码  黑色  有多少条
        sw01  均码  肉色  有多少条

也就是不同型号,不同尺码,不同颜色,分别入库出库

我现在的代码是:

Select Case e.DataCol.Name
    Case "型号","入库","出库"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [型号] = \'" & mr("型号") & "\'", "[_SortKey] Desc")
        If dr Is Nothing Then \'如果没有上一行,说明本行就是同产品的第一行
            mr("库存") = mr("入库") - mr("出库")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [型号] = \'" & dr("型号") & "\'")
        For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额
            drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库")
        Next
End Select

--  作者:大红袍
--  发布时间:2016/1/7 9:47:00
--  
Select Case e.DataCol.Name
    Case "入库","出库"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [型号] + [均码] + [颜色] = \'" & mr("型号") & mr("均码") & mr("颜色") & "\'", "[_SortKey] Desc")
        If dr Is Nothing Then \'如果没有上一行,说明本行就是同产品的第一行
            mr("库存") = mr("入库") - mr("出库")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And  [型号] + [均码] + [颜色] = \'" & mr("型号") & mr("均码") & mr("颜色") & "\'")
        For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额
            drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库")
        Next
End Select

--  作者:hujincheng
--  发布时间:2016/1/7 9:49:00
--  
非常谢谢大红袍,一有问题你是第一个回答的,谢谢!