我有一个本地的 Access 2010 数据库,此后我已链接到 SQL 2012 数据库。但是,我有一个表格来插入运行以下代码的突出显示记录:
Private Sub Command18_Click()
Dim R As Recordset
Set R = CurrentDb.OpenRecordset("SELECT * FROM [tblJobHead]")
R.AddNew
R![Rep Num] = [Forms]![frmMain]![NavigationSubform].[Form]![RepNum]
R![Item Number] = Me.ItemNumber.Value
R![Description] = Me.Desc.Value
R![EmpID] = [TempVars]![EmpID]
R![Status] = 2
R.Update
R.Close
Set R = Nothing
DoCmd.Save
End Sub
但是,当我点击按钮时,我现在收到错误:
错误 3622 - 在 Access 具有 IDENTITY 列的 SQL Server 表时,必须将 dbSeeChanges 选项与 OpenRecordset 一起使用
有什么想法吗?
问候,
迈克尔
最佳答案
错误如其所说,试试:
Function GetRecordset(sSQL) As DAO.Recordset
Dim rdao As DAO.Recordset
Dim db As Database
Set db = CurrentDb
Set rdao = db.OpenRecordset(sSQL, dbOpenDynaset, _
dbFailOnError + dbSeeChanges)
If Not rdao.EOF Then
rdao.MoveLast
rdao.MoveFirst
End If
Set GetRecordset = rdao
End Function
我强烈建议您避免使用单个字母作为变量。
关于sql - MS Access 错误 3622 vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22790969/