以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助][原创]EXCEL报表取数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=144680)

--  作者:lgj716330
--  发布时间:2019/12/26 21:18:00
--  [求助][原创]EXCEL报表取数
Dim b2 As New SQLGroupTableBuilder("汇总1","成本核算")
b2.C
b2.Groups.AddDef("客户名称") 
b2.Groups.AddDef("性质") 
b2.Groups.AddDef("季度") 
b2.Groups.AddDef("是否退清") 
b2.Totals.AddDef("数量") 
b2.Filter = "金额<>0  And (" & filter & ")" 筛选一
b2.Build 

For Each dr As DataRow In DataTables("汇总1").DataRows ‘筛选二
If dr("季度") <> "A" Then
    If (dr("是否退清") = "否" Or dr("是否退清") ="") Then
        Tables("汇总1").Filter = "(性质 like \'%发货\' or 性质 like \'%退货\')" 
    Else
        Tables("汇总1").Filter = "(性质 Like \'%发货\' or 性质 like \'%实际\')"
    End If
End If
next

然后在EXCEL报表中引用上述相关数据
[$汇总1,Sum(数量)]
这里取得是上面“筛选一”结果中的数据,还是”筛选二”结果中的数据
[此贴子已经被作者于2019/12/26 21:19:49编辑过]

--  作者:有点蓝
--  发布时间:2019/12/27 8:51:00
--  
DataTables("汇总1")是分组统计的结果表,DataTables("汇总1").DataRows是这个结果表所有的行,不存在什么筛选
--  作者:lgj716330
--  发布时间:2019/12/27 9:25:00
--  
那就这么说吧,[$汇总1,Sum(数量)]取得是DataTable还是Table
--  作者:有点蓝
--  发布时间:2019/12/27 9:32:00
--  
execl报表都是从Table取值的