MJH*_*MJH 3 ms-access vba access-vba
我有一个myRegex函数,可从字符串中提取正则表达式。当我运行使用该函数的查询时,在多行上出现以下错误。
找不到方法或数据成员。
这是正则表达式函数:
Function myRegex(ByRef myString As String, ByVal pattern As String) As String
Dim rgx As New RegExp
Dim colMatches As MatchCollection
With rgx
.pattern = pattern
.ignoreCase = True
.Global = False
.Multiline = False
Set colMatches = .Execute(myString)
End With
If colMatches.Count > 0 Then
myRegex = colMatches(0).Value
Else
myRegex = ""
End If
End Function
Run Code Online (Sandbox Code Playgroud)
这是我使用的查询:
SELECT myRegex(phone,"[0-9]+")
FROM table1
Run Code Online (Sandbox Code Playgroud)
我检查了以下参考库:
下一行
Dim rgx As New RegExp
Run Code Online (Sandbox Code Playgroud)
...与RegExp定义该Class的第一个库匹配,即
Microsoft VBScript Regular Expressions 1.0
Run Code Online (Sandbox Code Playgroud)
这是不支持该Multiline属性的较旧版本。您需要以下RegExp课程:
Microsoft VBScript Regular Expressions 5.5
Run Code Online (Sandbox Code Playgroud)
所以:
RegExp班级限定为VBScript_RegExp_55.RegExp或CreateObject("VBScript.RegExp")