Datensatz per VBA erstellen und Autowert auslesen

Patrick2P

Benutzer
Beiträge
8
Hallo Zusammen,

ich habe dazu zwar etliches in Google gefunden, das will aber bei mir nicht so laifen wie es sollte.

Folgende Lösung habe ich mehrfach in ähnlicher Weise gefunden:

Public Sub PrimaerschluesselwertPerDAO()

Dim db As DAO.Database
Dim rst As DAO.Recordset

Set db = CurrentDb
Set rst = db.OpenRecordset("tblBeispiel", dbOpenDynaset)

rst.AddNew
rst!Testfeld = "Test"

Debug.Print rst!ID

rst.Update
rst.Close
Set rst = Nothing
Set db = Nothing
End Sub

Wenn ich das aber laufen lasse ergibt rst!ID NULL. Das läuchtet auch ein, da der Autowert ja auch bei manueller EIngabe erst nach dem Update vergeben wird. Mache ich die rst!ID Abfrage aber erst nach dem Update, erhalte ich 1 als Wert, was auch nicht stimmt.

Was mache ich falsch?

Vielen Dank und viele Grüße

Patrick
 
Werbung:
Da in dem Code kein SQL vorkommt kann ich dazu nichts sagen. Was hat es denn mit dem ! in rst!Testfeld und rst!ID aufsich?
 
Werbung:
Hallo,
denke, das die ID so einfach zu Verfügung stehen wird.

With rst
.AddNew
!Testfeld = "Test"
.Update
.MoveLast
Debug.Print !ID
.Close
End With
 
Zurück
Oben