sql - MS Access 错误 3622 vba

标签 sql sql-server vba ms-access

我有一个本地的 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/

相关文章:

php - 按时间戳对组内的行进行排序

SQL-Server:关键字 'with' 附近的语法不正确。如果这个语句是一个公用表表达式

.net - 如何从/向 SQL Server BLOB 字段传输数据?

vba - Excel VBA - 允许使用 DisplayFormulaBar=False 输入单元格

excel - 如何使用另一个单元格的值参数化函数的范围参数

vba - 有什么办法可以在DAO和MS Access中使用长文本(memo)参数?

c# - 在 ASP.NET MVC 中使用简单查询

sql - 在 PostgreSQL 中具有多个连接的 UPDATE 语句

php - 在两个表中选择...

SQL 选择所有联接值都等于值的位置