Option Explicit
Option Compare Text
Public Declare Function timeGetTime Lib "Winmm.dll" () As Long
Public Sub Test()
Dim lngI As Long
Dim lngStart As Long
Dim strString As String
Dim vntString As Variant
Dim rstTest As DAO.Recordset
Set rstTest = CurrentDb.OpenRecordset("tblTest", dbOpenDynaset)
lngStart = timeGetTime()
For lngI = 1 To 10000
rstTest.MoveFirst
Do Until rstTest.EOF
vntString = rstTest!SomeText
If Left(vntString, 1) = "g" Or _
Mid(vntString, 30, 1) = "h" Or _
Right(vntString, 1) = "x" Then
rstTest.Edit
rstTest!SomeText = Left(vntString, 10) & _
"ZZZZZZZZZZZZZZZ" & _
Mid(vntString, 26)
rstTest.Update
End If
rstTest.MoveNext
Loop
Next lngI
MsgBox timeGetTime() - lngStart [color=green]' <<< 6028[/color]
lngStart = timeGetTime()
For lngI = 1 To 10000
rstTest.MoveFirst
Do Until rstTest.EOF
strString = rstTest!SomeText
If Left$(strString, 1) = "g" Or _
Mid$(strString, 30, 1) = "h" Or _
Right$(strString, 1) = "x" Then
rstTest.Edit
rstTest!SomeText = Left$(strString, 10) & _
"ZZZZZZZZZZZZZZZ" & _
Mid$(strString, 26)
rstTest.Update
End If
rstTest.MoveNext
Loop
Next lngI
MsgBox timeGetTime() - lngStart [color=green]' <<< 5477[/color]
End Sub