I didnt write the code, but it is what I use when I am testing my patterns. Since it is written in VBA, if I get a successful test, I KNOW it will work...
Well the expressions I posted worked on the test site I linked to?
Plus, what is TestDate doing?
Is your code even doing what you think it should be doing?
Code:
Dim rst As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * from [tablename]"
Set rst = CurrentDb.OpenRecordset(strSQL)
RgExp.Pattern = "^\d{11}\/\d{8}$"
'99900295953/00000001
rst.MoveFirst
Do Until rst.EOF
If RgExp.Test(Nz(rst!field1, 0)) = True Then
field1data = Left(rst![field1], 11)
Else
If TestDate(Nz(rst![PStart Date], 0)) = "valid" Then
rst.Edit
rst!field1 = field1data
rst.Update
End If
End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing