以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQLGroupTableBuilder的用法请教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68592)

--  作者:chnfo
--  发布时间:2015/5/20 22:49:00
--  [求助]SQLGroupTableBuilder的用法请教
Dim b As New GroupTableBuilder("统计表1",DataTables("C"))
b.Groups.AddDef("AFID") \'根据产品分组
b.Totals.AddDef("FA") \'对数量进行统计
b.Build \'生成统计表
MainTable = Tables("统计表1") \'打开生成的统计表


通过上面这段执行得到统计表1.
但如何结合统计表1、B形成temp那样的查询结果呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目25.foxdb


--  作者:大红袍
--  发布时间:2015/5/20 23:23:00
--  
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建 文本文档.txt


--  作者:chnfo
--  发布时间:2015/5/20 23:30:00
--  
要是我的SQL功力深厚,就不会这么麻烦了
红袍兄,用狐表本身的功能实现好一点
否则,还不如直接考虑在B表中增加一个临时列FA,让它自动更新更简单。那就只需要一个compute("sum()",合计条件)。
但我这只是一个示例,最终要做的统计远比这个复杂,是想得到一个方法 


Dim b As New GroupTableBuilder("MM",DataTables("C"))
b.Groups.AddDef("AFID") \'根据产品分组
b.Totals.AddDef("FA") \'对数量进行统计
b.Build() \'生成一个DataTable
MainTable = Tables("MM") \'打开生成的统计表


Dim bb As New SQLGroupTableBuilder("NN","B")
bb.AddTable("B","AID","CCC","AFID") \'添加统计表   ‘如果新建一个CCC’数据表,其数据内容与MM表一样,就完全没有问题,但将CCC换成MM,就会报错
bb.Groups.AddDef("AID") \'根据产品名称分组
bb.Groups.AddDef("RID") \'根据产品名称分组
bb.Totals.AddDef("UA") \'对数量进行统计
bb.Totals.AddDef("FA") \'对数量进行统计
bb.Build \'生成统计表
MainTable = Tables("NN") \'打开生成的统计表
[此贴子已经被作者于2015/5/20 23:38:24编辑过]

--  作者:Bin
--  发布时间:2015/5/21 8:43:00
--  
可以尝试理解一下 2楼的SQL 不是很复杂的.

或者把具体情况说出来帮你写.

--  作者:大红袍
--  发布时间:2015/5/21 9:05:00
--  

 你这个根本就不是分组统计,必须用sql语句才行。

 

 要不你就用这个 http://www.foxtable.com/help/topics/2305.htm