VBA Access 2007 - ODBC无法锁定所有记录

时间:2016-10-05 14:29:03

标签: vba ms-access odbc ms-access-2007

我正在开展一个繁重的项目,其中包括将Microsoft Access本地表迁移到Microsoft SQL Server,我遇到了一个特定问题。

我正在使用ODBC驱动程序将MS SQL Server链接到我的表IMMATRICULATION。其列名IMMAT是主键。在我的VBA代码中,我正在运行:

Dim mydb As Database
Dim myrs As Recordset
Dim req As String
Set mydb = CurrentDb()

DoCmd.Hourglass True

req = "SELECT * FROM IMMATRICULATION WHERE IMMAT ='" & Me.Liste_CANum & "'"
Set myrs = mydb.OpenRecordset(req, dbOpenDynaset, dbDenyWrite)

If myrs.RecordCount > 0 Then
    IMMAT = myrs![IMMAT]
    MARQUE = myrs![MARQUE]
    MODELE = myrs![MODELE]
    PRIX = myrs![PRIX]
    DATE = myrs![DATE]
    AMO_DUREE = myrs![AMO_DUREE]
    AMO_MONTANT = myrs![AMO_MONTANT]
    AMO_DEBUT = myrs![AMO_DEBUT]
    AMO_FIN = myrs![AMO_FIN]
    ASS_MONTANT = myrs![ASS_MONTANT]
    SOM = myrs![SOMMEIL]
Else
    myrs.AddNew
    myrs![IMMAT] = Me.Liste_CANum
    myrs.Update
    IMMAT = Me.Liste_CANum
    MARQUE = ""
    MODELE = ""
    PRIX = ""
    DATE = ""
    AMO_DUREE = ""
    AMO_MONTANT = ""
    AMO_DEBUT = ""
    AMO_FIN = ""
    ASS_MONTANT = ""
    SOM = "Non"
End If
myrs.Close
mydb.Close
DoCmd.Hourglass False

但是这行代码不起作用:

Set myrs = mydb.OpenRecordset(req, dbOpenDynaset, dbDenyWrite)

弹出以下错误消息:

ODBC -- cannot lock all records

您对如何解决我的问题有任何想法吗?我试图删除dbDenyWrite,但问题仍未解决。

由于

0 个答案:

没有答案