Hallo Robert,
Danke für schnelle und ausführliche Antwort. Hab's verstanden!
Gruß
Helmut
Robert Großkopf schrieb:
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: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]