以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84228) |
-- 作者:674140303 -- 发布时间:2016/4/26 12:00:00 -- [求助] “区分产品的流水账”实例中,我想再加一个仓库的字段,可以按不同仓库区分商品库存。求高手指点如何实现? |
-- 作者:大红袍 -- 发布时间:2016/4/26 12:27:00 -- Select Case e.DataCol.Name Case "产品","入库","出库", "仓库" Dim drs As List(of DataRow) Dim Filter As String Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [产品] = \'" & e.DataRow("产品") & "\' and 仓库 = \'" & e.DataRow("仓库") & "\'" drs = e.DataTable.Select(Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " And [产品] = \'" & dr("产品") & "\' and 仓库 = \'" & e.DataRow("仓库") & "\'" Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter) Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter) dr("库存") = Val1 - Val2 Next filter = "" If e.DataCol.Name = "产品" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [产品] = \'" & e.OldValue & "\' and 仓库 = \'" & e.DataRow("仓库") & "\'" ElseIf e.DataCol.Name = "仓库" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [产品] = \'" & e.DataRow("产品") & "\' and 仓库 = \'" & e.Oldvalue & "\'" End If if filter > "" then drs = e.DataTable.Select(Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " And [产品] = \'" & dr("产品") & "\' and 仓库 = \'" & dr("仓库") & "\'" Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter) Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter) dr("库存") = Val1 - Val2 Next End If End Select |
-- 作者:674140303 -- 发布时间:2016/4/27 10:25:00 -- 谢谢! |