以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何把统计结果放入表中  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127572)

--  作者:明天的灵
--  发布时间:2018/11/16 21:58:00
--  [求助]如何把统计结果放入表中
Dim d_h As  Date
d_h =DataTables("每日工作量").Compute("Max(操作日期)")   \'取得最后操作日期
Dim dt1 As Date = d_h.AddDays(-1) \'获取最后操作日期的前一天
Dim Filter As String
Filter = "操作日期 = #" & dt1 & "#"
Dim g As New GroupTableBuilder("上一日产量", DataTables("每日工作量"))
g.Groups.AddDef("操作台")
g.Totals.AddDef("计件数量", "日产量")
g.Filter = Filter
g.Build()
MainTable = Tables("上一日产量")

Tables("上一日产量")是统计比最后操作日期前一天的各操作台产量,如何把统计出来的日产量按对应的操作台号,保存到操作台表的“日产量“列中?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计件工资1.table



--  作者:有点蓝
--  发布时间:2018/11/16 22:08:00
--  
Dim d_h As  Date
d_h =DataTables("每日工作量").Compute("Max(操作日期)")   \'取得最后操作日期
Dim dt1 As Date = d_h.AddDays(-1) \'获取最后操作日期的前一天
Dim Filter As String
Filter = "操作日期 = #" & dt1 & "#"
Dim g As New GroupTableBuilder("上一日产量", DataTables("每日工作量"))
g.Groups.AddDef("操作台")
g.Totals.AddDef("计件数量", "日产量")
g.Filter = Filter
Dim dt As DataTable = g.Build(True)
For Each dr As DataRow In dt.DataRows
    Dim nr As DataRow = DataTables("操作台").Find("操作台号 = \'" & dr("操作台") & "\'")
    If nr IsNot Nothing Then
        nr("日产量") = dr("日产量")
    End If
Next


--  作者:明天的灵
--  发布时间:2018/11/16 22:20:00
--  
谢谢蓝版主!
Dim dt As DataTable = g.Build(True) 这句是关键,想不统计生成的表,还能映射成DataTable,是不是g.Build() 一定带True参数? 
想额外请教下。

--  作者:有点蓝
--  发布时间:2018/11/16 22:53:00
--  
是的,一定带True参数
--  作者:明天的灵
--  发布时间:2018/11/17 10:29:00
--  
终于在帮助中找到原文解释了(Build方法有一个可选参数,如果设为True,将只生成一个临时的DataTable,而不生成Table).谢谢!