繁体   English   中英

@@ Identity从Access Frontend(SQL Server Express后端)返回0

[英]@@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是什么。
如果dbCurrentDB ,则Set rs = db.OpenRecordset行将打开一个DAO.Recordset ,它在本地Access数据库上执行查询。

如果我的猜想是正确的,那么您需要打开记录集,并通过传递查询在其中执行SELECT @@IDENTITY的记录集实际上在SQL Server上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM