Foxtable(狐表)用户栏目专家坐堂 → 多值字段统计问题


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

主题:多值字段统计问题

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
多值字段统计问题  发帖心情 Post By:2012/10/22 11:33:00 [只看该作者]

我在设计职称和执业资格管理系统中,在员工档案表中设立了“职称及执业资格证书”列,

列属性设立了多值字段,比如“工程师/一级建造师/造价员/经济师......”有的员工会持有

二个或三个以上证件,后面我做了统计总表及窗口,如何实现多值字段的统计(如果是只选一个证书,统计表能正常统计,勾选多个,统计总表不能统计);

 

我看了帮助,帮助上的例子代码不知怎样能实现

 

[此贴子已经被作者于2012-10-22 11:34:47编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/10/22 12:08:00 [只看该作者]

这个比较麻烦,你可以设计好表,输入几行测试数据,然后将文件发上来,说明你需要得到什么样的统计结果,我们帮你做一下算了。

另外可以先看看:

http://www.foxtable.com/help/topics/2400.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/10/22 14:02:00 [只看该作者]

先谢谢了,我做了发上来


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/10/22 14:49:00 [只看该作者]

 

请狐爸帮忙,达到的功能如下:

1、通过提取员工档案相关列的内容进行统计

2、统计数据在职称学历统计表中实现

3、在职称学历统计表中,如在“职称执业资格”列中一行任意输入“工程师”后续列中统计出结果,下一行再输入“助理工程师”又显示后续列结果

因为我单位人员多,每次统计这些数据都很麻烦,变动较多。谢谢各位老师了!!

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:统计测试20121022.rar


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/22 16:19:00 [只看该作者]

 这样弄,如下,虽然效率不高,但,是最简便的方法。

Select Case e.DataCol.Name
    Case "职称执业资格"
        Dim Filter As String = "(职称 Like '*/" & e.NewValue & "/*' or 职称 like '" & e.NewValue & "/*' or 职称 like '*/" & e.NewValue & "')"
        e.DataRow("总人数") = DataTables("员工档案").Compute("Count(_Identify)", Filter)
        e.DataRow("男") = DataTables("员工档案").Compute("Count(_Identify)", "性别 = '男' And " & Filter)
        e.DataRow("女") = DataTables("员工档案").Compute("Count(_Identify)", "性别 = '女' And " & Filter)
        e.DataRow("年龄_25岁以下") = DataTables("员工档案").Compute("Count(_Identify)", "年龄 <= 25 And " & Filter)
        e.DataRow("年龄_26岁至30岁") = DataTables("员工档案").Compute("Count(_Identify)", "年龄 >= 26 And 年龄 <= 30 And " & Filter)
        e.DataRow("年龄_31岁至35岁") = DataTables("员工档案").Compute("Count(_Identify)", "年龄 >= 31 And 年龄 <= 35 And " & Filter)
        e.DataRow("学历_博士") = DataTables("员工档案").Compute("Count(_Identify)", "最终学历 = '博士' And " & Filter)
        e.DataRow("学历_硕士") = DataTables("员工档案").Compute("Count(_Identify)", "最终学历 = '硕士' And " & Filter)
        e.DataRow("学历_本科") = DataTables("员工档案").Compute("Count(_Identify)", "最终学历 = '本科' And " & Filter)
End Select
[此贴子已经被作者于2012-10-22 16:23:51编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/10/22 16:30:00 [只看该作者]

谢谢,我再试试

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/10/22 16:33:00 [只看该作者]

职称 Like '*/" & e.NewValue & "/*' or 职称 like '" & e.NewValue & "/*' or 职称 like '*/" & e.NewValue & "

这一组代码不太明白,需要老师给解释下下


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/22 18:05:00 [只看该作者]

以下是引用douglas738888在2012-10-22 16:33:00的发言:

职称 Like '*/" & e.NewValue & "/*' or 职称 like '" & e.NewValue & "/*' or 职称 like '*/" & e.NewValue & "

这一组代码不太明白,需要老师给解释下下


你的 职称 列的形式是 x/y/z/xx/yy/zz/xxx

比如,你选中的是 xx ,那么,如果要从中区别出来,就必须这样筛选

 xx 像 /xx/ 一样
 或者
 xx 像 /×x 一样
 或者
 xx 像 xx/ 一样


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2012/10/22 18:27:00 [只看该作者]

 Dim Filter As String = "(职称 Like '*/" & e.NewValue & "/*' or 职称 like '" & e.NewValue & "/*' or 职称 like '*/" & e.NewValue & "'or 职称 like '" & e.NewValue & " ' )"
谢谢老师,您写的代码却一个单独选一个证书的,我加上后可执行,我理解的对吗?

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/23 9:23:00 [只看该作者]

 嗯嗯,对于单个证书的我没有考虑。

 或者像你写的,或者 职称 = '" & e.NewValue & " '

 回到顶部