以文本方式查看主题

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

--  作者:maomaoxw
--  发布时间:2012/10/16 21:05:00
--  SQLGroupTableBuilder分组问题

SQLGroupTableBuilder对日期进行分组的时候,如果想在一列中显示年月,及显示为“2012-08”这样的格式,b.groups.addexp("日期")该如何编写?

我本想着写为b.groups.addexp("年月","year("日期") & "-" & month("日期")"),这样写foxtable会报错,说是类型不匹配,应该怎样编写呢,请狐爸赐教。


--  作者:maomaoxw
--  发布时间:2012/10/16 21:32:00
--  
SQLGroupTableBuilder生成的临时表,怎样在代码里面对数值列的格式设置成千分位,保留两位小数
--  作者:maomaoxw
--  发布时间:2012/10/16 21:41:00
--  

假如在统计的时候需要制定条件,该怎样编写,假如需要对A列,B列两列进行统计,B列对全部的数据求和,C列为表达式列,统计A列中数据等于”ABC"的个数,不能通过B.filter实现筛选,在B.totals.addexp()中有没有类型countif这样的条件计数的函数可以使用


--  作者:狐狸爸爸
--  发布时间:2012/10/16 21:45:00
--  

测试通过:

 

Dim b As New SQLGroupTableBuilder("统计表1","订单")
b.Groups.AddExp("年月","Year(日期) & ""-"" & Month(日期)")
b.Totals.AddDef("数量")
b.Totals.AddExp("金额","数量 * 单价 * (1 - 折扣)")
b.Build
MainTable = Tables("统计表1")


--  作者:狐狸爸爸
--  发布时间:2012/10/16 21:47:00
--  
以下是引用maomaoxw在2012-10-16 21:32:00的发言:
SQLGroupTableBuilder生成的临时表,怎样在代码里面对数值列的格式设置成千分位,保留两位小数

 

小数位数可以设置,千分位没有,只能在生成统计表之后:

 

Dim b As New SQLGroupTableBuilder("统计表1","订单")
b.Groups.AddExp("年月","Year(日期) & ""-"" & Month(日期)")
b.Totals.AddDef("数量")
b.Totals.AddExp("金额","数量 * 单价 * (1 - 折扣)")
b.Build
DataTables("统计表1").DataCols("金额").SetFormat("#,##0.00")
MainTable = Tables("统计表1")


--  作者:maomaoxw
--  发布时间:2012/10/17 18:52:00
--  
b.Groups.AddExp("年月","Year(日期) & ""-"" & Month(日期)")
为什么是""-"" ,能解释一下不?
--  作者:狐狸爸爸
--  发布时间:2012/10/18 8:40:00
--  

这里有解释的:

http://www.foxtable.com/help/topics/0211.htm