以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 设备任务统计异常 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186054) |
-- 作者:nuoyan89 -- 发布时间:2023/4/4 10:06:00 -- 设备任务统计异常 老师,如图1,使用设备为ZK-A-01的,生产任务总表中从4月12号开始就没有生产任务了(如图2),但是确统计出结果了如图1,正确的情况是4月12日开始这台机床生产任务为空白的,代码如下,请帮忙看看,谢谢 表事件代码: If e.DataCol.Name = "使用设备" Then Dim dict As new Dictionary(of String,String) For i As Integer = 1 To 31 e.DataRow("日" & i) = Nothing Dim dc As DataCol = e.DataTable.DataCols("日" & i) dict.Add(dc.Caption,dc.Name) Next Dim b As New SQLGroupTableBuilder("统计表1","生产任务总表") b.C b.Groups.AddDef("使用设备") b.Groups.AddDef("生产日期",DateGroupEnum.None) b.Totals.AddDef("生产任务") b.Filter = "使用设备 = \'" & e.DataRow("使用设备") & "\'" Dim dt As DataTable = b.Build(True) For Each dr As DataRow In dt.DataRows Dim cn As String = format(dr("生产日期"),"MM-dd") If dict.ContainsKey(cn) e.DataRow(dict(cn)) = dr("生产任务") End If Next End If 查询按钮代码: Dim Cols1() As String = {"使用设备","设备名称"} Dim Cols2() As String = {"使用设备","设备名称"} For Each dr1 As DataRow In DataTables("设备状态表").sqlSelect("[使用设备] like \'%A%\' and [使用状态] = \'使用中\'") Dim dr2 As DataRow = DataTables("设备分配表_设备运行").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next |
-- 作者:有点蓝 -- 发布时间:2023/4/4 10:24:00 -- 目录窗口执行下面代码,看生成的统计表是怎么样的 Dim b As New SQLGroupTableBuilder("统计表1","生产任务总表") b.C b.Groups.AddDef("使用设备") b.Groups.AddDef("生产日期",DateGroupEnum.None) b.Totals.AddDef("生产任务") b.Filter = "使用设备 = \'" & e.DataRow("使用设备") & "\'" b.Build() |