访问具有IDENTITY列的SQL Server表时,如何在OpenRecordset中使用dbSeeChanges选项?

use*_*572 6 sql-server vba

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
Run Code Online (Sandbox Code Playgroud)

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

我是编码新手,对此有所帮助.谢谢.

rrr*_*hys 7

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

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