我一直在网上寻找解决此问题的方法,所有答案似乎都告诉我我做得正确。我已经继承了该Access / SQL Server数据库,但似乎无法使这一部分正常工作。
我正在执行INSERT
工作正常的基本SQL查询。我已经检查了好几次了。查询执行后,我试图从中获取身份值以用于其余代码。
这是我的代码:
db.Execute (SQLStr)
Set rs = db.OpenRecordset("SELECT @@IDENTITY")
InNo = rs(0)
Debug.Print InNo
rs.Close
db.Close
总是会传回0的值InNo
。我尝试了几种不同的方法,但似乎无法正常工作。
我还直接从SQL Server中使用了此方法,并且查询@@Identity
正常。
提前致谢。
我怀疑您正在SELECT @@IDENTITY
本地Access数据库上运行,这当然不知道是什么@@IDENTITY
。
不过,我不确定100%,因为您没有显示完整的代码,也不知道是什么db
。
如果db
是CurrentDB
,则该Set rs = db.OpenRecordset
行打开DAO.Recordset
它并在本地Access数据库执行查询。
如果我的猜想是正确的,那么您需要打开SELECT @@IDENTITY
通过传递查询执行的记录集,因此它实际上在SQL Server上运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句