Foxtable(狐表)用户栏目专家坐堂 → 数据统计


  共有3188人关注过本帖平板打印复制链接

主题:数据统计

美女呀,离线,留言给我吧!
nuoyan89
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:489 积分:3392 威望:0 精华:0 注册:2020/10/9 8:45:00
数据统计  发帖心情 Post By:2023/7/29 10:07:00 [只看该作者]

老师,我的窗口表是用以下“生产临时表的代码”的代码生成的临时表如图2,我想把生产排产表中按照:使用设备、成品编码、月份、生产日期、领用数量等汇总后,把值显示到窗口表中,但是表事件的代码提示异常,如图1,请帮忙看看,谢谢
生成临时表的代码:
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("使用设备", GetType(String), 250)
dtb.AddDef("设备名称", GetType(String), 250)
dtb.AddDef("最小量", GetType(Double), 32)
dtb.AddDef("最大量", GetType(Double), 32)
dtb.AddDef("领用总量", GetType(Double), 32)
dtb.Build()
Dim s As String = e.form.controls("月份1").Text
Dim d As Date = CDate(s.Insert(4, "-") & "-01")
Dim d2 As Date = New Date(d.Year, d.Month, Date.DaysInMonth(d.Year, d.Month))
For i As Integer = d.Day To d2.Day
    dtb.AddDef(i, GetType(Date))
Next
DataTables("使用监控台_现存量").DataCols.Add("使用设备", GetType(String), 100)
DataTables("使用监控台_现存量").DataCols.Add("设备名称", GetType(String), 200)
Tables("使用监控台_现存量").DataSource = dtb.BuildDataSource()
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
表事件:
If e.DataCol.Name = "使用设备" Then
    Dim s As String = e.form.controls("月份1").Text
    Dim d As Date = CDate(s.Insert(4, "-") & "-01")
    Dim d2 As Date = New Date(d.Year, d.Month, Date.DaysInMonth(d.Year, d.Month))
    Dim dict As New Dictionary(Of String, String)
    For i As Integer = d.Day To d2.Day
        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("材料编码")
    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("领用日期"), "yyyy-MM-dd")
        If dict.ContainsKey(cn) Then
            e.DataRow(dict(cn)) = dr("领用数量")
        End If
    Next
End If

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看


 回到顶部
总数 38 1 2 3 4 下一页