Autowert neuer Datensätze ermitteln

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Neue Datensätze legen Sie entweder mit der Methode AddNew/Update oder mit der Execute-Methode unter Angabe einer INSERT INTO-SQL-Anweisung an. Dieser Beitrag zeigt, wie Sie auf die Autowerte der neuen Einträge zugreifen.

Bei AddNew/Update können Sie vor Ausführen der Update-Methode den Wert des Autowertfeldes ermitteln. Nach dem Update wird der Datensatzzeiger auf einen anderen Datensatz verschoben, der neue Datensatz ist dann nicht mehr greifbar (s. Listing 1).

Public Sub NeuerDatensatzI()
     Dim db As DAO.Database
     Dim rst As DAO.Recordset
     Set db = CurrentDb
     Set rst = db.OpenRecordset("tblKategorien", dbOpenDynaset)
     rst.AddNew
     rst!Kategoriename = "Neue Kategorie"
     MsgBox rst!KategorieID
     rst.Update
     MsgBox rst!KategorieID
End Sub

Listing 1: Ermitteln der ID eines neuen Datensatzes, Version I

Eine eher unbekannte Methode ist die, bei der die Bookmark-Eigenschaft auf den mit LastModified ermittelten zuletzt bearbeiteten Datensatz verschoben wird. Den Autowert liefert dann das entsprechende Feld (s. Listing 2).

Public Sub NeuerDatensatzII()
     Dim db As DAO.Database
     Dim rst As DAO.Recordset
     Dim lngKategorieID As Long
     Set db = CurrentDb
     Set rst = db.OpenRecordset("SELECT * FROM tblKategorien", dbOpenDynaset)
     rst.AddNew
     rst!Kategoriename = "Neue Kategorie 1"
     rst.Update
     rst.Bookmark = rst.LastModified
     MsgBox "Neuer Datensatz: " & rst!KategorieID
End Sub

Listing 2: Ermitteln der ID eines neuen Datensatzes, Version II

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar