Foxtable(狐表)用户栏目专家坐堂 → [求助]请教一个分级筛选统计的问题


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

主题:[求助]请教一个分级筛选统计的问题

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


加好友 发短信
等级:幼狐 帖子:174 积分:1665 威望:0 精华:0 注册:2018/4/22 18:54:00
[求助]请教一个分级筛选统计的问题  发帖心情 Post By:2018/11/13 13:11:00 [只看该作者]

Dim zzrs As New GroupTableBuilder("在职人员人数统计表1", DataTables("在职人员信息表"))
zzrs.Groups.AddDef("现任职务")
zzrs.Filter = "县市 Like '%" & e.form.controls("ComboBox1").text & "%'" 
zzrs.Filter =  "乡镇 Like '%" & e.form.controls("ComboBox2").text & "%'"
zzrs.Totals.AddDef("姓名", AggregateEnum.Count,"现有人数",True)  '--统计姓名列行数,填充到临时表现有人数列
zzrs.Subtotal = True
zzrs.Build()

各位老师,上段代码是写在统计窗口的一个按钮下的,这段代码可以在先选择县市、再选择乡镇之后对选定的乡镇人员进行统计,现在我想要在只选择县市、不选择乡镇的情况下统计所选择县市的人员,这个目的可以实现吗?该怎么修改上面的代码?请赐教,谢谢!
[此贴子已经被作者于2018/11/13 13:11:53编辑过]

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


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

1、看看
 
 
2、
 
Dim filter As String = "1=1"
If e.form.controls("ComboBox1").text <> Nothing Then
    filter &= " and 县市 Like '%" & e.form.controls("ComboBox1").text & "%'"
End If
If e.form.controls("ComboBox2").text <> Nothing Then
    filter &= " and 乡镇 Like '%" & e.form.controls("ComboBox2").text & "%'"
End If
Dim zzrs As New GroupTableBuilder("在职人员人数统计表1", DataTables("在职人员信息表"))
zzrs.Groups.AddDef("现任职务")
zzrs.Filter = filter
zzrs.Totals.AddDef("姓名", AggregateEnum.Count,"现有人数",True)  '--统计姓名列行数,填充到临时表现有人数列
zzrs.Subtotal = True
zzrs.Build()

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


加好友 发短信
等级:幼狐 帖子:174 积分:1665 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2018/11/13 15:03:00 [只看该作者]

感谢有点甜老师的指导,甜老师的指导总是很到位、很耐心图片点击可在新窗口打开查看

刚才我也试验了一个方法,代码如下,也能实现目的,但不知道代码是否合理,请你再看看

Dim zzrs As New GroupTableBuilder("在职人员人数统计表1", DataTables("在职人员信息表"))

If e.Form.Controls("combobox2").Value = Nothing Then
    zzrs.Groups.AddDef("现任职务")
    zzrs.Filter = "县市 Like '%" & e.form.controls("ComboBox1").text & "%'"
    zzrs.Totals.AddDef("姓名", AggregateEnum.Count,"现有人数",True)  '--统计姓名列列数,填充到临时表现有人数列
    zzrs.Subtotal = True
    zzrs.Build()
Else
    zzrs.Groups.AddDef("现任职务")
    zzrs.Filter =  "乡镇 Like '%" & e.form.controls("ComboBox2").text & "%'"
    zzrs.Totals.AddDef("姓名", AggregateEnum.Count,"现有人数",True)  '--统计姓名列列数,填充到临时表现有人数列
    zzrs.Subtotal = True
    zzrs.Build()
End If

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


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

尽量用2楼的方法,不然,有一些小问题你没有考虑进去。

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


加好友 发短信
等级:幼狐 帖子:174 积分:1665 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2018/11/13 15:27:00 [只看该作者]

好的,谢谢老师

 回到顶部