Foxtable(狐表)用户栏目专家坐堂 → [求助] 关于分组统计的设置于代码


  共有3343人关注过本帖树形打印复制链接

主题:[求助] 关于分组统计的设置于代码

帅哥哟,离线,有人找我吗?
netfox168
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:2960 威望:0 精华:0 注册:2011/9/19 0:18:00
[求助] 关于分组统计的设置于代码  发帖心情 Post By:2014/9/15 10:56:00 [只看该作者]

问题1:分组统计的设置如何删除?

问题2:分组统计的代码,能否用关联表?

问题起源:假设当前表是 “父表.子表”,这时统计出来的结果是正确的(仅统计当前记录),假如在窗口控件中用代码生成统计表,则是子表的全部记录。代码如下:

Dim g As New GroupTableBuilder("进仓单分类汇总", DataTables("进仓单明细"))
g.Groups.AddDef("合同号")
g.Groups.AddDef("材料名称")
g.Totals.AddDef("进仓数量")
g.Build()
MainTable = Tables("进仓单分类汇总")

我尝试将第一行后面的代码改成 DataTables(“进仓单.进仓单明细”),但出错。



 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/15 10:59:00 [只看该作者]

你只需要把G.Filter 条件设置为关联列=父表当前列即可

例如关联列 为  编号

g.Filter ="编号='" & tables("父表").current("编号") & "'"

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/15 11:00:00 [只看该作者]

 1、删除是指什么?直接在菜单那里操作添加或删除

 

 2、无法用关联表,如果是用子表,就这样写代码

 

Dim g As New GroupTableBuilder("进仓单分类汇总", DataTables("进仓单明细"))
g.Groups.AddDef("合同号")
g.Groups.AddDef("材料名称")
g.Totals.AddDef("进仓数量")
g.Filter = Tables("进仓单明细").Filter
g.Build()
MainTable = Tables("进仓单分类汇总")
 
 3、如果是关联表,就这样写代码
 
Dim g As New GroupTableBuilder("进仓单分类汇总", DataTables("进仓单明细"))
g.Groups.AddDef("合同号")
g.Groups.AddDef("材料名称")
g.Totals.AddDef("进仓数量")
g.Filter = "关联列 = '" & Tables("进仓单").Current("关联列") & "'"
g.Build()
MainTable = Tables("进仓单分类汇总")

 回到顶部
帅哥哟,离线,有人找我吗?
netfox168
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:2960 威望:0 精华:0 注册:2011/9/19 0:18:00
  发帖心情 Post By:2014/9/15 11:11:00 [只看该作者]

1. 删除是指回到设置前的状态,即是不设置。现在每次按 “重新分组统计” 按钮都生成原先设置的统计表。
2. 过滤设置已ok,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/15 11:15:00 [只看该作者]

 设置前的状态又是指什么?不设置是指把表删除还是怎样?


 回到顶部
帅哥哟,离线,有人找我吗?
netfox168
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:2960 威望:0 精华:0 注册:2011/9/19 0:18:00
  发帖心情 Post By:2014/9/15 11:51:00 [只看该作者]

所谓设置前状态就是按 “重新分组统计” 按钮后出现设置画面,而不是统计结果。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/15 12:00:00 [只看该作者]

这个意思?

 

Syscmd.Table.BuildGroupTable() 统计
Syscmd.Table.NewGroupTable() 统计
Syscmd.Table.RebuildGroupTable() 复上次统计


 回到顶部