以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  单条件累计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191734)

--  作者:denghui69986
--  发布时间:2024/5/6 16:45:00
--  单条件累计
单统计累计,外部数据加载进来用下面内部表代码就弹窗,老师帮忙看看,谢谢

图片点击可在新窗口打开查看此主题相关图片如下:错误弹窗.png
图片点击可在新窗口打开查看
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)("实际产量")
         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)("实际产量")
                 Next
             End If
         End If
End Select

--  作者:有点蓝
--  发布时间:2024/5/6 16:51:00
--  
这个表没有[_SortKey]列,勾选添加一个插入行标记列:http://www.foxtable.com/webhelp/topics/1791.htm
--  作者:denghui69986
--  发布时间:2024/5/6 17:04:00
--  
勾选点确定按键就弹窗
图片点击可在新窗口打开查看此主题相关图片如下:弹窗.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/5/6 17:07:00
--  
这个表的主键是什么?不是_identify?也不是自增列?
--  作者:denghui69986
--  发布时间:2024/5/6 17:14:00
--  
是自动增加号
图片点击可在新窗口打开查看此主题相关图片如下:自编号.png
图片点击可在新窗口打开查看

--  作者:denghui69986
--  发布时间:2024/5/6 17:19:00
--  
加载进来外部数据表刚试了好像都不可以勾选
--  作者:有点蓝
--  发布时间:2024/5/6 17:26:00
--  
代码里不要使用[_SortKey]列了,改为【id编号】列
--  作者:denghui69986
--  发布时间:2024/5/7 7:54:00
--  
把所有外部数据表主键改[_SortKey]现在可以了,谢谢
--  作者:有点蓝
--  发布时间:2024/5/7 8:32:00
--  
主键请使用_identify,不要使用_SortKey。_SortKey是排序用的,用作其它用途可能会有冲突