Autowert nach Insert ermitteln

Frage:
Per VBA wird ein neuer Datensatz in einer SQL Server-Tabelle hinzugefügt. Dabei erhält dieser Datensatz einen neuen Autowert (Identity).
Wie lässt sich dieser neue Wert in VBA weiterverwenden?

Lösung:
Im Gegensatz zu Access wird der neue Wert in SQL Server erst nach dem Einfügen des neuen Datensatzes erzeugt. Um diesen neuen Wert zu ermitteln, muss der Datensatz also erneut gelesen werden. Dazu sollte das Recordset zum Einfügen der Datensätze mit der Option dbSeeChanges geöffnet sein.
Hierzu ein Beispiel von Elmar Boye:

Sub GetIdentityODBC()
Dim dbs As DAO.Database
Dim rst As DAO.Recordset

Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset(„SELECT * FROM Basis“, dbOpenDynaset, dbSeeChanges)
rst.AddNew
rst!BasisText = „Ein Wert“
rst!MemoFeld = „Ein Memo Wert“
rst.Update
Debug.Print rst!BasisID, rst!BasisDatum
rst.Move 0, rst.LastModified
Debug.Print rst!BasisID, rst!BasisDatum
rst.Close
End Sub  

/* übernommen aus der Original sqlfaq.de */