ich bin neu in diesem Forum und benötige als absoluter Anfänger in Base eure Hilfe.
Meine Datenbank enthält eine Tabelle (1_Knd) und ein darauf basierendes Formular (1_Knd). Ein Feld der Tabelle und des Formulars heißt "Knd_ID".
Knd_ID enthält eine Nummer, die für jeden Eintrag in der DB-Tabelle einmalig ist.
Wenn ich das Formular öffne und anfange Daten einzugeben, möchte ich diese Knd_ID vergeben. Um nicht doppelte Knd_ID's zu vergeben, muss ich jedes Mal die Tabelle öffnen und den höchsten vergebenen Wert heraussuchen, plus eins nehmen und eintragen.
Meine Vorstellung ist, eine vorhandene Schaltfläche mit einem Makro zu hinterlegen, welches diesen Wert (Knd_ID +1) errechnet und dann in das Feld Knd_ID einträgt.
Was ich bis jetzt habe ist ein Makro, welches per SQL-Anweisung den höchsten Wert von Knd_ID aus der Tabelle ausliest und diesen Wert um 1 erhöht. Ich kann diesen auch in einer MsgBox anzeigen lassen.
Aber wie geht es weiter?
Ich benötige wirklich simpelste Erklärungen und nachvollziehbare Einzelschritte - weil ich verstehen möchte.
Ich hoffe die Frage und das Umfeld nachvollziehbar dargestellt zu haben.

Vielen Dank im Voraus.
Der bisherige Makrocode sieht wie folgt aus:
Code: Alles auswählen
Sub Knd_ID_ermitteln
Dim RowSet
' Create a row-set to query the database
RowSet = createUnoService("com.sun.star.sdb.RowSet")
RowSet.DataSourceName = "Tickets"
RowSet.CommandType = com.sun.star.sdb.CommandType.COMMAND
'Den Maximalwert des Feldes Knd_ID mittels SQL ermitteln
RowSet.Command = "SELECT max(""Knd_ID"") FROM ""1_Knd"""
RowSet.execute()
' it only returns 1 row
' so we need no loop
RowSet.next()
'RowSet ist ein String
'x = RowSet.getString(1)
'x wird der in eine Zahl umgewandelte String zugeordnet
x = Val (RowSet.getString(1))
'jetzt kann x hochgezählt werden
x = x + 1
'MsgBox "The MaxId is " + RowSet.getString(1)
MsgBox "The MaxId is " + x + " "
End Sub