我将后端 MS Access 2003 升级到数据库的 MySQL 5.1。我将后端 MYSQL 5.1 数据库通过 ODBC(MySQL ODBC 5.1 驱动程序)链接到 MS Access 前端 .mdb。
我正在使用 DAO 记录集。我使用 .AddNew 方法添加新记录并使用更新
.更新方法;在更新语句之后,我将自动编号字段提取到变量中,该变量给出
“运行时错误'-2147352567 (80020009)'没有当前记录”错误。
但是相同的代码在具有 MS-Access 2003 后端的以前版本中也可以工作。
'new
if bNew = true then
lngInvoiceID = 0
else 'edit ,
lngInvoiceID = Forms("frmInvoice").[tbInvoiceID].value
end if
Set rstAux = dbsLocal.OpenRecordset("Select * from tblElectronicInvoices where
eipID = " & lngInvoiceID, dbOpenDynaset, dbSeeChanges)
rstAux.AddNew
rstAux.Update
lngInvoiceID = Nz(rstAux.Fields("eipID"), 0)
'当我尝试取回自动编号字段的 eipID 时,没有出现当前记录错误。
以前的 MS Access 代码可以访问后端链接表到前端。未指定 dbSeeChanges 选项,在更新语句之前,我可以获得自动编号字段的新 ID。