亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

最后插入行的自動編號值 - MS Access / VBA

最后插入行的自動編號值 - MS Access / VBA

HUX布斯 2019-09-03 15:36:22
我有一個JET以自動編號為主鍵的表,我想知道如何在插入一行后檢索此數字。我曾想過MAX()用來檢索具有最高值的行,但我不確定它有多可靠。一些示例代碼:Dim query As StringDim newRow As Integerquery = "INSERT INTO InvoiceNumbers (date) VALUES (" & NOW() & ");"newRow = CurrentDb.Execute(query)現在我知道這不起作用,因為Execute()不會返回主鍵的值,但這基本上是我正在尋找的那種代碼。我將需要使用新行的主鍵來更新另一個表中的多個行。這樣做最簡單/最易讀的方法是什么?
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

在您的示例中,因為您使用CurrentDB來執行INSERT,所以您自己更難。相反,這將工作:


  Dim query As String

  Dim newRow As Long  ' note change of data type

  Dim db As DAO.Database


  query = "INSERT INTO InvoiceNumbers (date) VALUES (" & NOW() & ");"

  Set db = CurrentDB

  db.Execute(query)

  newRow = db.OpenRecordset("SELECT @@IDENTITY")(0)

  Set db = Nothing

我曾經通過打開AddOnly記錄集并從那里獲取ID 來進行INSERT ,但這里的效率要高得多。請注意,它不需要ADO。


查看完整回答
反對 回復 2019-09-03
  • 3 回答
  • 0 關注
  • 809 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號