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


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

主题:多值字段的统计

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
多值字段的统计  发帖心情 Post By:2011/11/13 16:12:00 [只看该作者]

狐爸:请问怎样统计多值字段中我勾选了几个项目,比如我有一个产量表,表中有日期、品种、产量、员工工号等列,员工工号列是多值字段,可以将参与生产当天该产品的员工工号勾选,有时是3人,有时是2人或1人,问题是我怎样自动统计出我勾选了几个人,以及怎样将勾选的人直观的统计出来,就是像表一样将员工的工号统计出来,谢谢

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/11/13 16:22:00 [只看该作者]

传个示例看看。

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2011/11/13 21:40:00 [只看该作者]

请问版主:为什么我总是上传不了附件的?

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2011/11/13 21:41:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多字段产量统计.table


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2011/11/13 21:44:00 [只看该作者]

可以上传文件了,实例在上楼,请版主帮看看,意思就是想统计出每一个工号员工的每月每个品种的产量,当天产量有几个人参与就几个人平分,这在生产企业里经常要用到,谢谢

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/13 22:09:00 [只看该作者]

看起来复杂,其实:

 

 

Dim dt As DataTable
Dim dtb As New DataTableBuilder("统计")
Dim lst As New Dictionary(of String ,DataRow)
dtb.AddDef("工号", Gettype(String), 16)
dtb.AddDef("数量", Gettype(Double))
dt = dtb.Build
For Each dr1 As DataRow In DataTables("产量登记表_多值字段").DataRows
    If dr1.IsNull("员工工号") = False Then
        Dim nms() As String = dr1("员工工号").Split(",")
        Dim v As Double = dr1("数量")/ nms.Length
        For Each nm As String In nms
            Dim dr2 As DataRow
            If lst.ContainsKey(nm)
                dr2= lst(nm)
            Else
                dr2 = dt.AddNew()
                dr2("工号") = nm
                lst.add(nm,dr2)
            End If
            dr2("数量") = dr2("数量") + v
        Next
    End If
Next

 

 

[此贴子已经被作者于2011-11-14 7:17:16编辑过]

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


加好友 发短信
等级:婴狐 帖子:7 积分:167 威望:0 精华:0 注册:2011/9/25 14:35:00
  发帖心情 Post By:2011/11/15 9:31:00 [只看该作者]

狐狸爸爸能不能把你的每一个语句进行说明

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/15 9:50:00 [只看该作者]

下次重新整理一下,写入帮助。


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


加好友 发短信
等级:婴狐 帖子:4 积分:96 威望:0 精华:0 注册:2011/12/19 16:08:00
  发帖心情 Post By:2012/1/1 20:48:00 [只看该作者]

我也碰到同样的问题,怎么没有人回答呢?


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


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

以下是引用lanse_1971在2012-1-1 20:48:00的发言:

我也碰到同样的问题,怎么没有人回答呢?

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

 


 回到顶部