以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何统计多值字段中的被选择个数?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=62618)

--  作者:hsh2055
--  发布时间:2015/1/5 14:36:00
--  [求助]如何统计多值字段中的被选择个数?

如何统计多值字段中的被选择个数?


--  作者:有点甜
--  发布时间:2015/1/5 14:37:00
--  
 要循环每一行,循环每一个值,然后统计才行的。
--  作者:hsh2055
--  发布时间:2015/1/5 14:57:00
--  

怎么写代码呢?例如多值字段为[值班人]


--  作者:有点甜
--  发布时间:2015/1/5 15:05:00
--  

 参考代码

 

Dim dic As new Dictionary(of String, Integer)
For Each dr As DataRow In DataTables("表a").Select("第三列 is not null")
    For Each s As String In dr("第三列").split(",")
        If dic.ContainsKey(s) = False Then
            dic.Add(s, 1)
        Else
            dic(s) += 1
        End If
    Next
Next

For Each k As String In dic.Keys
    output.show(k & ":" & dic(k))
Next


--  作者:jialihaha
--  发布时间:2015/1/5 15:06:00
--  
循环去该列的每一个单元格的值,用Split方法来切割,具体参考下面链接
http://www.foxtable.com/help/topics/0245.htm

--  作者:Bin
--  发布时间:2015/1/5 15:14:00
--  
如果是SQL数据库

可以用一下SQL语句获取


select sum(A) fr和谐om (select len(第一列)-replace(第一列,\',\',\'\') as A fr和谐om {表A})
[此贴子已经被作者于2015-1-5 15:14:40编辑过]

--  作者:Bin
--  发布时间:2015/1/5 15:15:00
--  
把和谐两个中文去掉.
--  作者:Bin
--  发布时间:2015/1/5 15:20:00
--  
外部数据源如果是ACCESS 2003以上的版本,也支持replace函数.  内部数据源就不支持了.