![](/img/trans.png)
[英]Switching Access 2007 accdb backend to SQL server express / Best frontend options?
[英]@@Identity returns 0 from Access Frontend (SQL Server Express backend)
我一直在网上寻找解决此问题的方法,所有答案似乎都告诉我我做得正确。 我已经继承了该Access / SQL Server数据库,但似乎无法使这一部分正常工作。
我正在执行工作正常的相当基本的SQL INSERT
查询。 我已经检查了好几次了。 查询执行后,我试图从中获取身份值以用于其余代码。
这是我的代码:
db.Execute (SQLStr)
Set rs = db.OpenRecordset("SELECT @@IDENTITY")
InNo = rs(0)
Debug.Print InNo
rs.Close
db.Close
这始终为InNo
返回值0。 我尝试了几种不同的方法,但似乎无法正常工作。
我也直接在SQL Server中使用了此方法,并且查询@@Identity
效果很好。
提前致谢。
我怀疑您在本地Access数据库上运行SELECT @@IDENTITY
,这当然不知道@@IDENTITY
是什么。
不过,我不确定100%,因为您没有显示完整的代码,也不知道db
是什么。
如果db
是CurrentDB
,则Set rs = db.OpenRecordset
行将打开一个DAO.Recordset
,它会在本地Access数据库上执行查询。
如果我的猜想是正确的,那么您需要打开记录集,并通过传递查询在其中执行SELECT @@IDENTITY
的记录集实际上在SQL Server上运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.