簡體   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