Access 2003 VBA女士。表记录集的随机顺序?

时间:2013-06-11 05:05:44

标签: ms-access access-vba

我打开一个记录集(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

问候。

1 个答案:

答案 0 :(得分:1)

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

如果要选择它出现的顺序,请在SQL中使用 ORDER BY 子句。所以,对你而言,它将是:

SELECT * FROM tblA ORDER BY {fieldname}