2010-09-22 27 views
12

Mi piace sicuramente MS Access come strumento RAD per applicazioni basate su dati di piccole dimensioni. Ma una cosa che mi manca davvero come .Net-Developer è Regular Expressions. Sono davvero utili quando si convalida l'input dell'utente. Non so davvero perché Microsoft non li abbia inseriti nella VBA-Library standard.Espressioni regolari in MS Access VBA?

C'è un modo per utilizzare le espressioni regolari in MS Access VBA?

risposta

21

È possibile utilizzare VBScript Regex Object aggiungendo un riferimento alla libreria di espressioni regolari di Microsoft VBScript.

Esempio utilizzo:

Dim szLine As String 
Dim regex As New RegExp 
Dim colregmatch As MatchCollection 

With regex 
    .MultiLine = False 
    .Global = True 
    .IgnoreCase = False 
End With 

szLine = "Analyzed range (from-to) 10 100" 

regex.Pattern = "^Analyzed range" 
If regex.Test(szLine) Then 
    regex.Pattern = ".*?([0-9]+).*?([0-9]+)" 
    Set colregmatch = regex.Execute(szLine) 

    'From 
    Debug.Print colregmatch.Item(0).submatches.Item(0) 
    'To 
    Debug.Print colregmatch.Item(0).submatches.Item(1) 
End If 

Fonte: http://mark.biek.org/blog/2009/01/regular-expressions-in-vba/

+3

vi consiglio vivamente di utilizzare l'associazione tardiva per questo. –

2

È possibile utilizzare CreateObject ("vbscript.regexp") o fare semplicemente riferimento alla libreria di script.