Access2003 in XP
I'm using the code below to append any new records from
(tbl_From_Mainframe) into (tbl_Appended_Data).
It takes more than a minute to search 7000 records for a dozen new
records.
The file I'm searching is in a data farm so I'm stuck with using it in
its present format.
Linking to the file or importing it as a local table have no effect on
speed.
How can I get this code to perform quicker?
Public Function Append_New_ITRs()
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim rst2 As DAO.Recordset
Dim strCriteria As String
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tbl_Appended_Data", dbOpenDynaset)
Set rst2 = dbs.OpenRecordset("tbl_From_Mainframe", dbOpenDynaset)
Do Until rst2.EOF
strCriteria = "[ITR]='" & Right(rst2.Fields(7), 5) & "' " _
& "AND [Rel]='" & rst2.Fields(1) & "' " _
& "AND [Part Number]='" & rst2.Fields(0) & "'"
With rst
.FindFirst (strCriteria)
If .NoMatch Then
.AddNew
.Fields(0) = Right(rst2.Fields(7), 5)
.Fields(1) = rst2.Fields(0)
.Fields(2) = rst2.Fields(1)
.Fields(3) = rst2.Fields(2)
.Fields(4) = rst2.Fields(9)
.Fields(5) = rst2.Fields(5)
.Update
End If
End With
rst2.MoveNext
Loop
rst.Close
rst2.Close
dbs.Close
End Function