以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请名位老师修正一下关于公司人员学历统计的代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120880) |
-- 作者:tkxffb -- 发布时间:2018/6/25 16:58:00 -- [求助]请名位老师修正一下关于公司人员学历统计的代码 各位老师好,我想统计出来公司各个部门员工不同学历的人数,按照帮助文件写了一段代码,可是代码不能用,请老师指点一下哪里错了,帮我修正一下,谢谢了 Dim b As New SQLGroupTableBuilder("各部门人员文化程度统计表1","公司人员信息表") b.ConnectionName = "database" b.Groups.AddDef("部门类别") b.Totals.AddDef("文化程度", Aggregate.Count "初中") b.Totals.AddDef("文化程度", Aggregate.Count "高中") b.Totals.AddDef("文化程度", Aggregate.Count "大学")
b.Subtotal = True b.FromServer = True b.build() DataTables("各部门人员文化程度统计表1").SysStyles("Alternate").BackColor = Color.Bisque MainTable = Tables("各部门人员文化程度统计表1") |
-- 作者:y2287958 -- 发布时间:2018/6/25 17:03:00 -- SQLGroupTableBuilder没有b.FromServer的属性吧
|
-- 作者:tkxffb -- 发布时间:2018/6/25 17:04:00 -- 给出的错误提示是,没声明Aggregate 我的设计思路是,在临时表中纵向显示部门名称,横向显示初中、高中、大学等各种文化程度,横向的文化程度各列列名是根据设计显示的,本列如果没有符合条件的人员,就显示0
[此贴子已经被作者于2018/6/25 17:16:23编辑过]
|
-- 作者:y2287958 -- 发布时间:2018/6/25 17:11:00 -- 试试这个:注意数据库类型 Dim b As New SQLGroupTableBuilder("各部门人员文化程度统计表1","公司人员信息表") b.C b.Groups.AddDef("部门类别") b.Totals.AddExp("初中","iif(文化程度=\'初中\',1,0)") b.Subtotal = True b.build()
|
-- 作者:有点甜 -- 发布时间:2018/6/25 17:15:00 -- 改成
AggregateEnum.Count |
-- 作者:tkxffb -- 发布时间:2018/6/25 17:32:00 -- 采用了 y2287958 给出的方法,十分感谢两位老师的指导!!!
[此贴子已经被作者于2018/6/25 17:43:52编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/25 17:40:00 -- 以下是引用tkxffb在2018/6/25 17:04:00的发言:
给出的错误提示是,没声明Aggregate 我的设计思路是,在临时表中纵向显示部门名称,横向显示初中、高中、大学等各种文化程度,横向的文化程度各列列名是根据设计显示的,本列如果没有符合条件的人员,就显示0
[此贴子已经被作者于2018/6/25 17:16:23编辑过]
1、可以直接用交叉统计
http://www.foxtable.com/webhelp/scr/0165.htm
http://www.foxtable.com/webhelp/scr/0678.htm
2、也可以直接写代码
http://www.foxtable.com/webhelp/scr/2394.htm
|
-- 作者:tkxffb -- 发布时间:2018/6/25 17:48:00 -- 问题已经解决,谢谢有点甜老师和y2287958老师的及时指导 |