我使用 ADODB 连接连接到 Excel VBA 中的 Access DB 并获取带有记录集的记录。我想更新记录集,但是当我更新记录集时,我也会更新数据库中的表。是否可以更新记录集而不更新数据库?这是我的代码,
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\jasons\Documents\UPD.accdb"
rs.Open "SELECT ITEM, SL AS SL FROM Table2", con, adOpenDynamic, adLockPessimistic
rs.MoveFirst
Do
rs.Update "SL", 250
rs.MoveNext
Loop Until rs.EOF
con.Close
Set con = Nothing
最佳答案
感谢 pony2deer 的链接,我仅通过添加来调整我的代码
rs.CursorLocation = adUseClient
rs.LockType = adLockBatchOptimistic
这是完整的代码,
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
sql = "SELECT * FROM Table2"
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\jasons\Documents\UPD.accdb"
rs.CursorLocation = adUseClient
rs.LockType = adLockBatchOptimistic
rs.Open sql, con
Set rs.ActiveConnection = Nothing
con.Close
rs.MoveFirst
Do
rs.Update "SL", 20
rs.MoveNext
Loop Until rs.EOF
关于excel - 更新记录集而不更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30593121/