MS Access Query - 计算逗号分隔列中的值的数量

时间:2017-05-01 07:19:48

标签: database ms-access

我想计算MS Access Table中逗号分隔字段中值的出现次数。有任何建议请:

例如

ID |值

1 | 1,2,3
2 | 1,5,8,9,5
3 | 1,5,8,3

期望输出

ID | #of值

1 | 3
2 | 5
3 | 4

2 个答案:

答案 0 :(得分:1)

正如 @ June7 所说,你需要一个可以在你的查询中调用的自定义函数。

将其放入标准模块:

Public Function CountValues(ByVal commaValues As Variant) As Long
    If Not IsNull(commaValues) Then CountValues = UBound(Split(commaValues, ",")) + 1
End Function

您现在可以在查询中调用它:

SELECT ID, CountValues(FieldName) AS [# of value]
FROM YourTableName;

输出:

ID | [价值#]

1 | 3
 2 | 5
 3 | 4
 4 | 0

NULL值默认为零。

答案 1 :(得分:0)

您也可以使用内置函数执行此操作,而无需调用自定义函数的开销:

select value,  Len([value])-Len(Replace([value],",","")) as [# of value]