Sé que no estabas preguntando acerca de la VBA, pero tal vez le dará una oportunidad
Si abre un proyecto de VBA, insertar nuevo módulo, a continuación, elegir Herramientas -> Referencias y agregue una referencia a Microsoft VBScript Regular Expressions 5.5. Dado que pate el código a continuación al módulo recién insertado.
Function my_regexp(ByRef sIn As String, ByVal mypattern As String) As String
Dim r As New RegExp
Dim colMatches As MatchCollection
With r
.Pattern = mypattern
.IgnoreCase = True
.Global = False
.MultiLine = False
Set colMatches = .Execute(sIn)
End With
If colMatches.Count > 0 Then
my_regexp = colMatches(0).Value
Else
my_regexp = ""
End If
End Function
Ahora usted puede utilizar la función anterior en su SQL consultas. Por lo tanto, su pregunta se resolverá ahora invocando
SELECT my_regexp(some_variable, "^[0]{1}[0-9]{8,9}$") FROM some_table
si se devolverá la cadena vacía si no se encuentra coincidencia.
Espero que les haya gustado.
RegEx no se podrá usar de manera eficiente en SQL en Access/Jet/ACE. No está integrado en el motor de base de datos, por lo que no usará índices. Tampoco es parte de VBA, aunque puede usar el RegEx desde el objeto del sistema de archivos si realmente lo desea. Pero para las reglas de validación (no sé nada más, podría querer decir "regla de varificación"), no puede usar RegEx en absoluto. Sin embargo, podría usar el evento BeforeUpdate del control que está utilizando para editar y luego usar la función RegEx del File System Object para probar el valor en la propiedad Text del control y actuar en consecuencia. –