2010 Access vba 移动到 ADO 中的不同记录

2010 Access vba moving to different records in ADO

我需要使用 ADO 更新当前记录之前或之后的 (n) 条记录。

我有打开、通读所有选定记录并关闭的代码。

我想知道是否有办法改变当前记录指针。例如,我想做这样的事情:

i=1
Do until rs.EOF
  If i > 5 then
    Field2=rs!Field1
    rs!CurrentRecordPointer = i-3
    'update Field2 in this record
    rs!CurrentRecordPointer = i+3
  End If
  i = i + 1
  rs.MoveNext
Loop

这可能吗,还是我需要使用数组?

使用 DAO 对象引用,您可以遍历记录并更新它们。

Dim db As Database, myRecordset As Recordset
Set db = CurrentDb()

sqlString = "SELECT myfield FROM myTable"

Set myRecordset = db.OpenRecordset(sqlString, dbOpenDynaset, dbSeeChanges)

myRecordset.MoveFirst

Do While myRecordset.EOF = False
    myRecordset.Edit
    myRecordset.Fields("myfield ").Value = newValue
    myRecordset.Update
    myRecordset.MoveNext
Loop