以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请看一下下面代码,不能统计出“统计表1”  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140954)

--  作者:shixu
--  发布时间:2019/9/18 10:12:00
--  请看一下下面代码,不能统计出“统计表1”
Dim tn,ty As Integer
Dim Filter As String
tn=2018
ty=8
Dim ts As Date = New Date(tn,ty,1) \'第一天
Dim td As Date = New Date(tn,ty,Date.DaysInMonth(tn,ty)) \'最后一天
Output.Show(ts)
Output.Show(td)
\'Filter ="[日期]  > #2019/8/31# And [日期] < #2019/10/1 # And [作废]=false"
Filter ="[日期] >= #" & ts & "# And [日期] <= #" & td & "# And [作废]=false"
Output.Show(Filter)

Dim g As New CrossTableBuilder("统计表1", DataTables("加油记录")) 
g.HGroups.AddDef("加油站")
g.HGroups.AddDef("油品")
g.HGroups.AddDef("领油人", "", "加油人")
g.VGroups.AddDef("项目")
g.Totals.AddDef("数量", "用油合计")
g.Totals.AddDef("数量", AggregateEnum.Count, "小票数")
g.Filter = Filter
g.Subtotal = True
g.Build()
MainTable = Tables("统计表1")


--  作者:有点蓝
--  发布时间:2019/9/18 10:33:00
--  
代码看不出什么问题,请上传实例测试
--  作者:shixu
--  发布时间:2019/9/18 14:32:00
--  
程序运行没有任何错误,但只得到空的“统计表1”。
--  作者:有点蓝
--  发布时间:2019/9/18 14:46:00
--  
请上传实例测试
--  作者:有点蓝
--  发布时间:2019/9/18 14:47:00
--  
g.Totals.AddDef("数量", AggregateEnum.Count, "小票数")

改为这样试试

g.Totals.AddDef("加油站", AggregateEnum.Count, "小票数")

--  作者:shixu
--  发布时间:2019/9/18 14:57:00
--  
用这句
Filter ="[日期]  > #2019/8/31# And [日期] < #2019/10/1 # And [作废]=false"
一切正常。

用这个
Filter ="[日期] >= #" & ts & "# And [日期] <= #" & td & "# And [作废]=false"
“统计表1”为空。

--  作者:有点蓝
--  发布时间:2019/9/18 15:46:00
--  
那说明没有符合条件的数据

msgbox("[日期] >= #" & ts & "# And [日期] <= #" & td & "# And [作废]=false")