【问题标题】:Update recordset without updating database更新记录集而不更新数据库
【发布时间】:2015-06-02 20:54:16
【问题描述】:

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

【问题讨论】:

标签: excel vba recordset


【解决方案1】:

感谢 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

【讨论】:

    猜你喜欢
    • 2016-01-15
    • 2021-04-06
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多