我打开一个记录集(A)并使用记录值处理一些数据,并写一个新的记录集(B),记录集中的记录值(A)和处理返回的数据值。 E.g
RS A RS B
123 789 grape
456 456 apple
789 123 three
112 123 two
456 orange
123 one
112 blue
112 green
现在我看到的是,它不是以顺序方式从记录集(A)读取数据,而是以随机顺序读取数据。因此,当存在大量数据并且宏之间挂起时,我必须花费一些时间来检查记录集(B)中写入的记录,以及哪些记录不是。
为什么会这样,而不是按顺序阅读记录,它以随机顺序读取
我的代码如下所示:
Set objDb = Application.CurrentDb
Set RecA = objDb.OpenRecordset("select * from tblA")
' am I opening recordset in proper manner
' or I have to fill other parameters too?
Set RecB = objDb.OpenRecordset("select * from tblB")
While RecA.EOF <> True
RecA.MoveNext ' move to next record
RecB.AddNew ' add new
RecB.Update ' update
Wend
问候。
答案 0 :(得分:1)
这不是随机的,只是看起来那样。如果你多次运行它,你会看到它以相同的顺序出现。
如果要选择它出现的顺序,请在SQL中使用 ORDER BY 子句。所以,对你而言,它将是:
SELECT * FROM tblA ORDER BY {fieldname}