1
這可能是一個基本的問題 - 但我無法找到任何線索,所以我轉向專家!訪問vba:如何執行插入兩個相關的表?
我有一個表格中我希望插入相關表中的行的子。父表有一個自動編號字段的Id;我需要使用新創建的行的Id並將其作爲外鍵插入到子表中。我試過如下:
Dim x As Recordset
Dim newId As Integer
Set x = CurrentDb.OpenRecordset("select * from T")
With x
.AddNew
!OtherColumns = SomeValues
.Update
newId = .Fields("Id")
End With
爲ID是一個自動編號列,它被分配下一個可用的號碼全部正確的 - 這分結束後,該表中包含一個新行已經自動生成的ID。 但變量newId不包含爲添加的行生成的新Id值。相反,它包含記錄集中第一行的Id。
我該如何檢索新的ID?
完美的作品 - 非常感謝! – Maestro13 2012-02-24 00:06:33
但是還有一個問題:它會一直返回當前子呼叫中生成的Id嗎?我正在考慮一個具有多個用戶的遠程數據庫 - 那麼最近生成的身份可能是另一個用戶的子呼叫中生成的另一個值,甚至可能是另一個用戶的子呼叫中生成的另一個值? – Maestro13 2012-02-24 00:18:44
它應該返回當前連接中生成的最後一個Id,因此如果它是多個客戶端訪問共享數據庫的話,那麼不要在我想的Web服務器上使用它。 – 2012-02-24 01:00:01