我有一個自動編號作爲主鍵的JET表,我想知道如何在插入一行後檢索此編號。我曾想過使用MAX()來檢索具有最高值的行,但我不確定這將是多麼可靠。一些示例代碼:最後插入行的自動編號值 - MS Access/VBA
Dim query As String
Dim newRow As Integer
query = "INSERT INTO InvoiceNumbers (date) VALUES (" & NOW() & ");"
newRow = CurrentDb.Execute(query)
現在我知道,這是行不通的,因爲Execute()
將不會返回主鍵的值,但是這基本上是我要找的那種代碼。我將需要使用新行的主鍵來更新另一個表中的多個行。
這樣做最簡單/最可讀的方法是什麼?
DAO可以做SELECT @@ IDENTITY,太 - 你不需要ADO。我一直這樣做:lngID = db.OpenRecordset(「SELECT @@ IDENTITY」)(0),其中「db」是用於執行插入的數據庫變量。我不再打開記錄集併爲此添加。 – 2009-10-27 20:03:44