以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于库存统计的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58865) |
-- 作者:liujia9716 -- 发布时间:2014/10/25 11:53:00 -- [求助]关于库存统计的问题 这个是狐表自带的高效流水账,我在其中加了“公司”一列,狐表自带的高效流水账是以产品的入库、出库计算库存,我想实现以公司产品的入库、出库计算出库存,就是在原来”产品“计算库存的基础上加入一个前提条件“公司”来计算库存,以实现每个公司的每种产品单独计算库存,希望能得到帮助,
以下是狐表自带的代码:该如何修改?求解........................
例子二_DataColChanged
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("产品") & "\'", "[_SortKey]") For i As Integer = 1 To drs.Count - 1 drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库") Next If e.DataCol.Name = "产品" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [产品] = \'" & e.OldValue & "\'", "[_SortKey] Desc") If dr Is Nothing Then dr = e.DataTable.Find("[产品] = \'" & e.OldValue & "\'", "[_SortKey]") If dr IsNot Nothing Then dr("库存") = dr("入库") - dr("出库") End If End If If dr IsNot Nothing Then drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [产品] = \'" & dr("产品") & "\'", "[_SortKey]") For i As Integer = 1 To drs.Count - 1 drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库") - drs(i)("出库") Next End If End If End Select
例子二_DataRowDeleting
e.DataRow("入库") = 0 e.DataRow("出库") = 0
例子二_AfterMoveRow
Dim Key As Decimal Dim Index As Integer Dim Filter As String Dim r As Row Index = Math.Min(e.OldIndex, e.NewIndex) Key = e.Table.Rows(Index)("_SortKey") r = e.Table.Rows(e.NewIndex) Filter = "[_SortKey] >= " & Key & " And [产品] = \'" & r("产品") & "\'" e.Table.DataTable.DataCols("入库").RaiseDataColChanged(Filter) |
-- 作者:Bin -- 发布时间:2014/10/25 13:52:00 -- 帮助就有按产品分类的例子 http://www.foxtable.com/help/topics/2136.htm |
-- 作者:liujia9716 -- 发布时间:2014/10/25 15:17:00 -- 帮助里是以产品分类,我是想以公司的产品分类,就是公司和产品并存的条件下分类统计库存 我就是个初级菜鸟,不会编程写代码,只是偶然看到了这个高效流水账,根本看不懂代码的意思,也不知道怎么在条件的基础上在加入一个条件,所以才想找高手大哥帮忙,麻烦在这个代码的基础上再帮我加入“公司”这个条件,小弟在这跪谢了 [此贴子已经被作者于2014-10-25 15:23:41编辑过]
|
-- 作者:Bin -- 发布时间:2014/10/25 15:24:00 -- 不用加,参考2楼的例子,本身就有有条件了.分类的 |
-- 作者:liujia9716 -- 发布时间:2014/10/25 15:28:00 -- 可是不加公司只能显示出产品的库存,不能按公司的产品计算库存, |
-- 作者:Bin -- 发布时间:2014/10/25 15:41:00 -- 所有涉及条件的地方 "[_SortKey] >= " & dr("_SortKey") & " And [产品] = \'" & dr("产品") & "\'" 加入公司 "[_SortKey] >= " & dr("_SortKey") & " And [产品] = \'" & dr("产品") & "\' and [公司] = \'" & dr("公司") & "\'"
|
-- 作者:liujia9716 -- 发布时间:2014/10/25 16:09:00 -- 大哥能在1楼的代码基础上帮我改下吗,我实在是不懂编程代码,纯菜鸟一个,只是套用了帮助里的试用的,小弟在这里跪谢了 |
-- 作者:Bin -- 发布时间:2014/10/25 16:10:00 -- 6楼不是给你改了吗? 你套进去即可.. |
-- 作者:liujia9716 -- 发布时间:2014/10/25 16:29:00 -- 我套进去可是不能实现各个公司产品单独计算库存,帮我改下吧,我实在是不会弄代码,谢谢了 |