以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 库存计算 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=143007) |
-- 作者:qqhealth -- 发布时间:2019/11/11 17:20:00 -- 库存计算 老师您好,新增加的出库(整领数量)没有计算进库里,附件新增出库1,库存(整盒库存)数据没有计算进去,只在下一条出库或入库数据后才计算上一条记录,代码如下,不知怎么改?谢谢! 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 [健康室] = \'" & dr("健康室") & "\'" Dim Val1 As Double = e.DataTable.SQLCompute("Sum(数量)",Filter) Dim Val2 As Double = e.DataTable.SQLCompute("Sum(整领数量)",Filter) dr("整盒库存") = Val1 - Val2 Next If e.DataCol.Name = "药品名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [药品名称] = \'" & e.OldValue & "\'" 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.SQLCompute("Sum(数量)",Filter) Dim Val2 As Double = e.DataTable.SQLCompute("Sum(整领数量)",Filter) dr("整盒库存") = Val1 - Val2 Next End If End Select |
-- 作者:有点蓝 -- 发布时间:2019/11/11 17:34:00 -- 新增加的数据没有保存,SQLCompute肯定无法统计的 Select Case e.DataCol.Name Case "药品名称","数量","整领数量","健康室" e.DataRow.save ……
|
-- 作者:qqhealth -- 发布时间:2019/11/11 20:48:00 -- 谢谢老师 |