Option Compare Database
Option Explicit
Sub leggi_a_blocchi()
Dim rs As DAO.Recordset, i As Integer
Set rs = CurrentDb.OpenRecordset("ORIG", Type:=dbOpenSnapshot)
With rs
.MoveLast
.FindFirst "left(campo,3)='103' and mid(campo, 4, 8)>=20000000"
If .NoMatch Then Exit Sub
Debug.Print "Found " & rs!campo
retrieve_100 rs
End With
Debug.Print "*End*"
End Sub
Sub retrieve_100(ByVal rs As DAO.Recordset)
Dim bkm1 As Variant, bkm2 As Variant, s As String
Do While True
rs.FindPrevious "left(campo,3)='100'"
Debug.Print "From " & rs!campo
bkm1 = rs.Bookmark
rs.FindNext "left(campo,3)='100'"
Debug.Print "To " & rs!campo
bkm2 = rs.Bookmark
s = rs!campo
rs.Bookmark = bkm1
Do Until rs!campo = s
DoCmd.RunSQL "INSERT INTO mod (campo) VALUES (" & rs!campo & ")"
Debug.Print rs!campo; " added to table MOD"
rs.MoveNext
Loop
rs.Bookmark = bkm2
rs.FindNext "left(campo,3)='103' and mid(campo, 4, 8)>=20000000"
If rs.NoMatch Then
Exit Sub
End If
Debug.Print "Found " & rs!campo
Loop
End Sub
|