我有一个本地的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 - 访问具有IDENTITY列的SQL Server表时,必须对OpenRecordset使用dbSeeChanges选项
有什么想法吗?
此致
迈克尔
答案 0 :(得分:3)
错误与其说的完全相同,请尝试:
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
我强烈建议你避免使用单个字母作为变量。