以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  临时表统计遇到的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120391)

--  作者:蓝蚂蚁
--  发布时间:2018/6/14 10:04:00
--  临时表统计遇到的问题
原来的代码:
Select Case e.StripItem.Name
    Case "报表"
        Dim t As Table = Tables("采购计划_Table1")
        Dim g As New GroupTableBuilder("统计表2", t.DataTable)
        g.Filter = t.filter
        g.Groups.AddDef("日期")
        g.Groups.AddDef("配送公司")
        g.Totals.AddDef("金额")
        g.VerticalTotal = True
        g.Build()
        Forms("通用临时表窗口").open
        Tables("通用临时表窗口_Table1").DataSource = g.BuildDataSource()
        Tables("通用临时表窗口_Table1").AutoSizeCols()
End Select
后来把表格中日期列删除了,所以把代码修改如下:
Select Case e.StripItem.Name
    Case "报表"
        Dim t As Table = Tables("采购计划_Table1")
        Dim hrq As String=format(t.DataRow("计划日期"), "yyyy") & format(t.DataRow("计划日期"), "MM") & format(t.DataRow("计划日期"), "dd")
        Dim g As New GroupTableBuilder("统计表2", t.DataTable)
        g.Filter = t.filter
        g.Groups.AddDef("hrq")
        g.Groups.AddDef("配送公司")
        g.Totals.AddDef("金额")
        g.VerticalTotal = True
        g.Build()
        Forms("通用临时表窗口").open
        Tables("通用临时表窗口_Table1").DataSource = g.BuildDataSource()
        Tables("通用临时表窗口_Table1").AutoSizeCols()
End Select
但这新的代码报错,不知道怎么修改,望老师指点,谢谢

--  作者:有点甜
--  发布时间:2018/6/14 10:25:00
--  

没有你这种写法。g.Groups.AddDef只能写列名。

 

如果你改成sqlGroupTableBuilder,可以写 g.Groups.AddExp("日期", "format(计划日期, \'yyyyMMdd\')")