Hallo Helmut, > Wenn ich einen Datensatz gelöscht habe, verhält sich der Primärschlüssel > in der Datenbank-Tabellenansicht anders als der Datensatzzähler in dem > Formularfeld 'Navigationsleiste': > > In der Tabellenansicht bleibt der gelöschte Datensatz vergeben, d.h. die > Nummer des gelöschten Datensatzes wird übersprungen = gibt es nicht mehr. > > In der Navigationsleiste dagegen wird die Datensatznummer anscheinend > fortlaufend gezählt, egal, was inzwischen gelöscht wurde.
Das ist korrekt und mit einfachen Mitteln nicht anders handhabbar. Die Datensatznummer ist keine feststehende Größe. Sie bezieht sich auf die Gesamtzahl der vorhandenen Datensätze. Der Primärschlüssel wird hingegen hochgezählt. Wenn also eine Nummer erst einmal vergeben wurde wird bei der nächsten Eingabe nur nach der höchsten Nummer gesucht und eine Nummer höher als Primärschlüssel genommen. Nach der Primärschlüsselnummer kannst Du einen bestimmten Datensatz finden. Nach der Datensatznummer, die je nach Sortierung übrigens mit ganz unterschiedlichen Datensätzen verknüpft wird, kannst Du nichts finden. Sie gibt nur an, wie viele Datensätze dem vorgegebenen Muster entsprechen. Beim Suchen nach Daten wird so beispielsweise angegeben, wie viele Treffer eine Abfrage hat. Der erste Treffer hat dann eben die Nummer 1. Der Primärschlüssel wird nur zur internen Verwaltung gebraucht. Wenn Du das Ganze anders haben willst musst Du eine Funktion bauen, die die freien Stellen sucht, die durch das Löschen anderer Datensätze entstehen. Dann müssen beim Löschen alle Primärschlüssel neu geschrieben werden - auch in verknüpften Formularen. Bei Datenbanken mit wenigen Datensätzen mag so etwas praktikabel sein. Datenbanken von einem größeren Ausmaß wären damit aber unbedienbar langsam. Gruß Robert --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org