0

我打开一个记录集(A)并使用记录值来处理一些数据,并写入一个新的记录集(B),其中记录集(A)中的记录值和处理返回的数据值。例如

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

问候。

4

1 回答 1

1

这不是随机的,它只是看起来那样。如果你多次运行它,你会看到它以相同的顺序出现。

如果你想选择它出现的顺序,那么在你的 SQL 中使用ORDER BY子句。所以,对你来说,这将是:

SELECT * FROM tblA ORDER BY {fieldname}
于 2013-06-11T05:25:05.790 回答