excel - 更新记录集而不更新数据库

标签 excel vba recordset

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

相关文章:

VBScript:如何将记录集的值设置为字符串

.net - 在 .Net 和 COM 程序集之间传递数据的性能

excel - VBA 新手 : Compile Error Invalid Qualifier.

excel - 如何在将图像导出到 VBA 2010 之前对其进行裁剪

vba - 按标题中的名称访问形状

excel - "Nullify"在文档中粘贴Excel表格之前的Word样式

excel - 引用工作表中框架中的控件

mysql - 在博客文章中将 MySQL 表显示为 ASCII

excel - 将 Gsheet 转换为 Excel 时,IFS 函数停止工作

java - Java REST 客户端接收和保存 excel 响应(字节数组)时出错