Access文本数据类型提取数字的查询

2017-12-07 16:56:00
黄善超
原创
92

有网友问及 一个字段中,即有文本字符,又有数字字符。现在想对数字字符的内容进行求平均,如何操作呢?

面对这样的问题,我们应该分解内容,逐步去实现需求。

第一步是先从文本字符串中提取数字

第二步是求平均值


如有表“tbl1”,文本字段“f1”,需要提取字段“f1”中的数字


1.编写从字符串中提取数字的函数

Public Function NumberGet(chkStr As String) As String
'从字符串中提取数字
    Dim i As Integer
    For i = 1 To Len(chkStr)
        If Mid(chkStr, i, 1) Like "[0-9]" Then
            NumberGet = NumberGet & Mid(chkStr, i, 1)
        End If
    Next i
    NumberGet = NumberGet
End Function



2.在查询中调用该函数

SELECT NumberGet([tbl1].[f1]) AS 提取数字
FROM tbl1;

提取表文本字段中的数字成功


3.合计求平均值

SELECT Avg(查询2.提取数字) AS 平均值
FROM 查询2;

实现效果图


    分享