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
我需要使用 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