Foxtable(狐表)用户栏目专家坐堂 → 请教老师关于统计的问题,谢谢


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

主题:请教老师关于统计的问题,谢谢

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


加好友 发短信
等级:幼狐 帖子:147 积分:1230 威望:0 精华:0 注册:2021/6/18 12:12:00
请教老师关于统计的问题,谢谢  发帖心情 Post By:2023/4/1 9:52:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表1" ,"ACCxmdjb")
b.C
b.AddTable("ACCxmdjb","ygxm","ACCygdjb","ygxm")
b.Groups.AddDef("{ACCygdjb}.sszy","专业")
b.Groups.AddDef("{ACCygdjb}.ygxm","员工姓名")
b.Totals.Addexp("sygxs","[gxs] - [ychx] - [echx] - [schx] - [sichx] - [wchx]","待完成工时")
b.filter = "sfsjwj = False And chqx = False"
b.Build
MainTable=Tables("统计表1")
Tables("统计表1").Sort = "专业,sygxs"

我上边的代码是为了统计出 b.filter = "sfsjwj = False And chqx = False"  这两列都没选中的行的“sygxs” 的和,但是有一个问题就是有些人的数据这两列 "sfsjwj 、“ chqx” 是都选中的,这时他的统计数据应该是零,但是统计表中把这样的数据直接剔除了,没有他们的数据,请问老师怎么修改代码才能把这部分统计结果是零的人也显示出来?
[此贴子已经被作者于2023/4/1 9:53:04编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/1 10:04:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表1" ,"ACCxmdjb")
b.C
b.AddTable("ACCxmdjb","ygxm","ACCygdjb","ygxm")
b.Groups.AddDef("{ACCygdjb}.sszy","专业")
b.Groups.AddDef("{ACCygdjb}.ygxm","员工姓名")
b.Totals.Addexp("sygxs","IIF(sfsjwj = False And chqx = False,[gxs] - [ychx] - [echx] - [schx] - [sichx] - [wchx],0)","待完成工时")
b.Build
MainTable=Tables("统计表1")
Tables("统计表1").Sort = "专业,sygxs"

如果是SqlServer,把IIF改为使用case when语法

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


加好友 发短信
等级:幼狐 帖子:147 积分:1230 威望:0 精华:0 注册:2021/6/18 12:12:00
  发帖心情 Post By:2023/4/1 10:33:00 [只看该作者]

谢谢老师,完美解决

 回到顶部