Hallo. Wiederaml ein Access-Problem: Wie kann ich in VB herausfinden, welche Zahl der Autowert in der Access-DB als nächstes generiert? Ich muss nach dem Befehl rs.AddNew wissen, welche ID generiert wird oder eben wurde.

Hallo. Wiederaml ein Access-Problem: Wie kann ich in VB herausfinden, welche Zahl der Autowert in der Access-DB als nächstes generiert? Ich muss nach dem Befehl rs.AddNew wissen, welche ID generiert wird oder eben wurde.
Hi anwender,
ich bezweifle, ob du herausfinden kannst, welcher Autowert als nächstes generiert wird. Wenn du dir aber von der ACCESS-Datenbank ein leeres Recordset holst, es mit ADDNEW füllst und dann wieder abspeicherst, bekommst du den neuen Autowert zurückgeliefert. Das Abspeichern geht etwa so:
'###################################################################################################################
Public Function Save_RS(XMTR As ADODB.Recordset, DBPathNFile As String, Optional ReturnID As Long, Optional PW As String) As Boolean
Dim p_cn As ADODB.Connection
Const pc_FuncName = "Save_RS"
On Error GoTo Errorhandler
Dim p_rs As New ADODB.Recordset, p_RetID As Long
Set p_cn = New ADODB.Connection
With p_cn
.ConnectionString = DB_Connect(DBPathNFile, PW)
.Open
End With
With XMTR
If .RecordCount > 0 Then
If .BOF = True Or .EOF = True Then
.MoveFirst
End If
End If
.ActiveConnection = p_cn
.UpdateBatch
If .RecordCount = 1 Then
If IsNumeric(.Fields(0).Value) = True Then
ReturnID = .Fields(0).Value
End If
End If
Set .ActiveConnection = Nothing
End With
p_cn.Close
Set p_cn = Nothing
Save_RS = True
Exit Function
Errorhandler:
Set p_cn = Nothing
Save_RS = False
Err.Raise Err.Number & vbCrLf & "DESCRIPTION: " & Err.Description & vbCrLf & "Version: " & AppVersion & vbCrLf & mc_modulename & vbCrLf & pc_FuncName
End Function
#####################################################################################################################
Best Grüsze
Sylvia
[Diese Nachricht wurde nachträglich bearbeitet.]