以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  库存数量统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189399)

--  作者:1234567
--  发布时间:2023/11/30 8:57:00
--  库存数量统计
图片点击可在新窗口打开查看
老师,库存数量的代码怎么写?

--  作者:有点蓝
--  发布时间:2023/11/30 9:02:00
--  
参考:http://www.foxtable.com/webhelp/topics/2136.htm
--  作者:1234567
--  发布时间:2023/11/30 13:43:00
--  
Select Case e.DataCol.Name
    Case "入库数量", "出库数量"
        Dim dr As DataRow
        Dim drs As List(Of DataRow)
        dr = e.DataTable.Find("顺序号 < " & e.DataRow("顺序号"), "顺序号 Desc") \'找出上一行
        msgBox(dr)
        If dr Is Nothing Then \'如果没有找到上一行,说明本行就是第一行
            e.DataRow("库存数量") = e.DataRow("入库数量") - e.DataRow("出库数量")
            dr = e.DataRow
        End If
        drs = e.DataTable.Select("顺序号 >= " & dr("顺序号"), "顺序号")
        For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额
            drs(i)("库存数量") = drs(i - 1)("库存数量") + drs(i)("入库数量") - drs(i)("出库数量")
        Next 
End Select

提示运行错误
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表,出入库二级表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到列 [物料0002]。

--  作者:有点蓝
--  发布时间:2023/11/30 13:51:00
--  

drs = e.DataTable.Select("顺序号 >= \'" & dr("顺序号") & "\'", "顺序号")