以文本方式查看主题

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

--  作者:po800326
--  发布时间:2017/5/8 4:26:00
--  求助 流水账,库存统计
求助!各位大神,帮帮我这个菜鸟!
我是做仓库管理的,刚刚学习狐表,做了一个库存产品流水账,需要先看产品,然后看型号,然后看面料,计算入库数量,出库数量和结余数量,当面料为空时只看产品和型号,当面料和型号为空时,只看产品。当三者都为空,清除这一行的数据。
代码怎么写?
[此贴子已经被作者于2017/5/8 11:33:13编辑过]

--  作者:有点色
--  发布时间:2017/5/8 8:35:00
--  

 参考

 

http://www.foxtable.com/webhelp/scr/1572.htm

 


--  作者:有点色
--  发布时间:2017/5/8 8:39:00
--  

复杂一点的,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=96237&skin=0

 

 


--  作者:po800326
--  发布时间:2017/5/8 19:57:00
--  
就像流水账设计里第二个例子一样,相同的产品有不同的型号,相同的型号个别还有不同的面料,如何才能让它们分别统计出入库出库和剩余库存
代码怎么组合

--  作者:有点蓝
--  发布时间:2017/5/8 20:38:00
--  
看3楼,不会就上传实例
--  作者:po800326
--  发布时间:2017/5/9 16:52:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存.table


--  作者:有点色
--  发布时间:2017/5/9 17:58: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("[日期] = #" & mr("日期") & "# and _Sortkey < " & mr("_Sortkey") & " And [品名] = \'" & mr("品名") & "\' and [型号] = \'" & mr("型号") & "\' and 面料 = \'" & mr("面料") & "\'", "日期 desc, _Sortkey desc")
        If dr Is Nothing Then \'同日期么找到
            dr = e.DataTable.Find("[日期] < #" & mr("日期") & "# And [品名] = \'" & mr("品名") & "\' and [型号] = \'" & mr("型号") & "\' and 面料 = \'" & mr("面料") & "\'", "日期 desc, _Sortkey desc")
            If dr Is Nothing Then
                mr("结余数量") = mr("入库数量") - mr("出库数量")
                dr = mr
            Else
                mr("结余数量") = dr("结余数量") + mr("入库数量") - mr("出库数量")
            End If
        Else
            mr("结余数量") = dr("结余数量") + mr("入库数量") - mr("出库数量")
        End If
        drs = e.DataTable.Select("[日期] >= #" & mr("日期") & "# And [品名] = \'" & mr("品名") & "\' and [型号] = \'" & mr("型号") & "\' and 面料 = \'" & mr("面料") & "\'", "日期,[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("结余数量") = drs(i-1)("结余数量") + drs(i)("入库数量") - drs(i)("出库数量")
        Next
       
        If (e.DataCol.Name = "品名" OrElse e.DataCol.name = "型号" OrElse e.DataCol.name = "面料") AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Dim filter As String = ""
            If e.DataCol.name = "品名" Then
                filter = "[品名] = \'" & e.OldValue & "\' and [型号] = \'" & mr("型号") & "\' and 面料 = \'" & mr("面料") & "\'"
            ElseIf e.DataCol.name = "型号"
                filter = "[品名] = \'" & mr("品名") & "\' and [型号] = \'" & e.OldValue & "\' and 面料 = \'" & mr("面料") & "\'"
            ElseIf e.DataCol.name = "面料"
                filter = "[品名] = \'" & mr("品名") & "\' and [型号] = \'" & mr("型号") & "\' and 面料 = \'" & e.OldValue & "\'"
            End If
            dr = e.DataTable.Find("[日期] < #" & mr("日期") & "# And " & filter, "日期 desc, _Sortkey desc")
           
            drs = e.DataTable.Select("[日期] >= #" & mr("日期") & "# And " & filter, "日期,[_SortKey]")
            If drs.count > 0 Then
                If dr IsNot Nothing AndAlso dr("_Identify") <> drs(0)("_Identify") Then
                    drs(0)("结余数量") = dr("结余数量") + drs(0)("入库数量") - drs(0)("出库数量")
                Else
                    drs(0)("结余数量") = drs(0)("入库数量") - drs(0)("出库数量")
                End If
                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

--  作者:po800326
--  发布时间:2017/5/9 18:22:00
--  

谢谢老师


--  作者:po800326
--  发布时间:2017/5/9 19:54:00
--  
求助,我设计了一个窗口,怎么在窗口中添加图片?
--  作者:有点蓝
--  发布时间:2017/5/9 20:54:00
--  
添加到窗口什么地方?控件?背景?
[此贴子已经被作者于2017/5/9 20:54:27编辑过]