Access Primärschlüssel mit eigenem Format und Automatischer Inkrementierung?

1 Antwort

Die Datenbank ist kein Programmiersystem, sondern ein Datenzubringer bzw. -verwalter. Mit einer Programmiersprache mit Datenbankanbindung ist das kein Problem. Der Primärschlüssel wird auf der Programmierseite verwaltet, die aktuelle lfd. Nr als Teil davon in irgendeiner DB-Tabelle mit Einstellungen und ähnlichen Daten (meist nur mit einem Satz versehen).

Mit

UPDATE einstellungen, SET lfdnr = lfdnr + 1;
SELECT lfdnr FROM einstellungen;
COMMIT WORK;

wird bei jeder Ablauffolge eine um 1 erhöhte lfdnr zugeteilt, ohne dass bei mehreren gleichzeitigen Nutzern es zu Konflikten kommt.

Wer mit Autocommit und Autoincrement arbeitet, nur weil ihm nichts Besseres einfällt, hat das Prinzip der Datenbank noch nicht verstanden: Alles muss minuziös festgelegt sein, nichts ist dem Zufall zu überlassen. Die Datenbank macht nichts von alleine richtig. Ein Hammer haut auch nicht selber den Nagel in die Wand.

Es gibt spezielle Anwendungen für automatische Nummerierung und Bestätigung, aber man muss wissen, wann dies sinnvoll und ohne Komplikationen machbar ist.