以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  分组统计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116974)

--  作者:cyrollin
--  发布时间:2018/4/3 17:18:00
--  分组统计问题
Dim Filter As String

With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
        vars("起始日期") = .Value
    End If
End With

With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
        vars("终止日期") = .Value
    End If
End With

If Filter > "" Then
   Dim b As New GroupTableBuilder("form1_table1",DataTables("表A"))
b.filter = filter
b.Groups.AddDef("编号") \'根据产品分组
b.Totals.AddDef("数量") \'对数量进行统计
b.Build \'生成统计表
MainTable = Tables("form1_table1") \'打开生成的统计表
End If

\'创建了一个form1窗口,在里面创建了一个table1表


错误提示: 
 1. 找不到要删除的表 form1_table1
2. form1_table1已经存在. 



[此贴子已经被作者于2018/4/3 17:22:31编辑过]

--  作者:有点甜
--  发布时间:2018/4/3 17:25:00
--  
Dim b As New GroupTableBuilder("test",DataTables("表A"))
b.filter = filter
b.Groups.AddDef("编号") \'根据产品分组
b.Totals.AddDef("数量") \'对数量进行统计
Forms("form1").controls("Table1").Table.Datasource = b.BuildDataSource

--  作者:cyrollin
--  发布时间:2018/4/3 17:36:00
--  
好的,可以了, 谢谢小甜甜. 

还有,可以把编号对应的产品名称列出来吗? 怎么改写代码?

--  作者:有点甜
--  发布时间:2018/4/3 17:49:00
--  
以下是引用cyrollin在2018/4/3 17:36:00的发言:

还有,可以把编号对应的产品名称列出来吗? 怎么改写代码?

 

你表A有【产品名称】列吗?如果没有,就添加一列。然后使用表达式或者代码引用父表的【产品名称】过来。


--  作者:cyrollin
--  发布时间:2018/4/3 17:55:00
--  
有的, 怎么引用?
--  作者:有点甜
--  发布时间:2018/4/3 18:04:00
--  

Dim b As New GroupTableBuilder("test",DataTables("表A"))
b.filter = filter
b.Groups.AddDef("编号") \'根据产品分组

b.Groups.AddDef("产品名称") \'根据产品分组
b.Totals.AddDef("数量") \'对数量进行统计
Forms("form1").controls("Table1").Table.Datasource = b.BuildDataSource


--  作者:cyrollin
--  发布时间:2018/4/5 14:51:00
--  
我在做excel模板的时候, 用了这个代码, 但生成后不能实现合计数量:

[#form1_table1,sum(数量)]

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

如果直接统计,参考

 

http://www.foxtable.com/webhelp/scr/1507.htm

 

累计,参考

 

http://www.foxtable.com/webhelp/scr/1496.htm