以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在Excel报表生成前执行的统计语句,请问我该如何修改?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=106548)

--  作者:1452565001
--  发布时间:2017/9/11 13:51:00
--  [求助]在Excel报表生成前执行的统计语句,请问我该如何修改?

在Excel报表生成前执行的语句

 

Dim dk As Date = Date.Today
Dim filter6 As String = " r306 < #" & dk & "# and r320 Is Null "
vars("sum8") = DataTables("r3").compute("sum(r300_15)", filter6)

 

这句话是希望计算r3表中,在r306这一列的日期在今天之前,并且r320这一列为空的,r300_15列的所有值的合,这个程序运行不会出现错误提示 但是算不出正确的值

请问老师我该如何修改


--  作者:有点甜
--  发布时间:2017/9/11 14:08:00
--  

执行下面代码,看筛选是否正确

 

Dim dk As Date = Date.Today
Dim filter6 As String = " r306 < #" & dk & "# and r320 Is Null "

Tables("r3").Filter = filter6


--  作者:1452565001
--  发布时间:2017/9/11 14:27:00
--  
筛选是没问题的 求和所得的值是0
--  作者:1452565001
--  发布时间:2017/9/11 14:32:00
--  

不知道是否是应为我对这张表进行的多次筛选的缘故?数据是分了两部分的,这样做是否有问题?应该如何改呢?

Dim filter5 As String = " r306 >= #" & dk & "# and r320 Is Null "
Dim filter6 As String = " r306 < #" & dk & "# and r320 Is Null "
vars("sum7") = DataTables("r3").compute("sum(r300_15)", filter5)
vars("sum8") = DataTables("r3").compute("sum(r300_15)", filter6)


--  作者:有点甜
--  发布时间:2017/9/11 14:45:00
--  

弹出什么值?

 

Dim filter5 As String = " r306 >= #" & dk & "# and r320 Is Null "
Dim filter6 As String = " r306 < #" & dk & "# and r320 Is Null "
vars("sum7") = DataTables("r3").compute("sum(r300_15)", filter5)
vars("sum8") = DataTables("r3").compute("sum(r300_15)", filter6)

 

msgbox(vars("sum8"))

msgbox(DataTables("r3").compute("sum(r300_15)", filter6))


--  作者:1452565001
--  发布时间:2017/9/11 15:34:00
--  

两个数值都是6853


--  作者:有点甜
--  发布时间:2017/9/11 15:35:00
--  
 那就说明计算没问题。如果还有问题,做具体例子上传说明。
--  作者:1452565001
--  发布时间:2017/9/11 16:19:00
--  
没问题了,成功显示出值了谢谢老师!