Private Sub update ()
   Dim db As Database
   Set db = CurrentDb
   Dim rs As Recordset

   Set rs = db.OpenRecordset("SELECT * From Table", dbOpenDynaset, dbSeeChanges)
   db.Execute ("UPDATE Table SET Path = '" & A.Value & "' WHERE B = '" & B.Value & "'")

   db.Close
End Sub

当我获得vba访问错误3622(即,访问具有IDENTITY列的SQL Server表时,将dbSeeChanges选项与OpenRecordset一起使用)时,建议的解决方案是添加第一行(Set rs = ...参见上面的编码)我做到了,但没有解决问题。
还有另一种避免此错误的方法吗?

我是编码方面的新手,将不胜感激。谢谢你。

最佳答案

由于OP消失了-将 dbSeeChanges 添加到命令(VBA)的末尾:

DBEngine(0)(0).Execute "UPDATE Table SET Path = '" & A.Value & "' WHERE B = '" & B.Value & "'", dbSeeChanges

关于sql-server - 访问具有IDENTITY列的SQL Server表时,如何在OpenRecordset中使用dbSeeChanges选项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22486176/

10-12 16:23