我正在使用 Access 遍历一个表,查找相关信息并将其放在一个主表中。
它加载两个记录集,开始迭代 rsImport(本地 <1000 行表),对于每个 rsImport 行,它会查看是否是与 rsRecords 中的 UniqueRef 匹配的行,然后它将更新或添加,如果它这样做了不存在。
F8 单步执行完整的代码,它实际上在读取 rsRecords.findfirst 时会暂停。如果我删除 DateofAction 部分,它会加快速度,所以它与日期有关。
有任何想法吗?
我用:
Dim rsImport As DAO.Recordset, rsRecords As DAO.Recordset
Set rsImport = CurrentDb().OpenRecordset("SELECT * from tblFeedbackImport", dbOpenDynaset)
rsImport.MoveLast
rsImport.MoveFirst
Set rsRecords = CurrentDb().OpenRecordset("SELECT * from dbo_tblFeedbackRecords", dbOpenDynaset, dbSeeChanges)
rsRecords.MoveLast
rsRecords.MoveFirst
Do While rsImport.EOF = False
rsRecords.FindFirst "UniqueRef='" & Trim(rsImport!UniqueRef) & "' AND DateofAction=#" & Format(rsImport!DateofAction, "m-d-yy") & "#"
rsImport.MoveNext
Loop
我有一个基于两列(UNIqueRef 和 DateOfAction)的 PrimaryIndex(Clustered)。