Autowert neuer Datensätze ermitteln

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

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

Access im Unternehmen

Unser exklusives Angebot für Dich!

Access im Unternehmen
13,25 € im Monat*

(Gilt für den Abschluss eines Jahres-Abonnements im ersten Jahr, danach 189,-/Jahr)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →