Hallo,
Habe eine Tabelle mit autom. Nummernerstellung.Bei Satz 100 lösche ich 6 Sätze. Nun stehe ich auf Satzanzahl 95. Wenn ich jetzt komprimiere und gebe danach einen neuen Satz ein, erstellt er mir die Nummer 101 statt 96.
was kann ich tun.Bei Access 97 ging das
Das war ein Fehler in Access 97. Das _darf_ nicht so gemacht werden. Solches "Lücken schließen" kann bei nicht ganz durchnormalisierten Datenbanken schlimme Auswirkungen haben.
Bsp.:
Tabelle Lieferer
ID Lieferer
1 Müller
2 Maier
3 Schulze
Tabelle Artikel
ID Artikel LiefererID1 LiefererID2 LiefererID3
1 Hose 3 1
2 Jacke 1 3 2
3 Mantel 2
So. Jetzt löschen wir Lieferer3 (Schulze). Damit ist die Lieferer.ID 3 "verbrannt". Könnten wir nämlich jetzt einen neuen Lieferer mit der ID 3 erfassen, müsste dieser in jedem Fall Hosen und Jacken liefern können ;-)).
Normalisieren wir vollständig durch, könnte beim Löschen eines Lieferers eine Löschweitergabe greifen, die solche Fehlverknüpfungen unmöglich macht:
Tabelle Lieferer
ID Lieferer
1 Müller
2 Maier
3 Schulze
Tabelle Artikel
ID Artikel
1 Hose
2 Jacke
3 Mantel
Tabelle ArtikelLieferer
ID ArtikelID LiefererID
1 1 3
2 1 1
3 2 1
4 2 3
5 2 2
6 3 2
Beim Löschen von Lieferer Schulze würden in der Tabelle ArtikelLieferer automatisch die Datensätze 1 und 4 gelöscht. Damit wäre, zumindest in der Datenbank, die Lieferer.ID 3 wieder frei. Allerdings wird sie oft auch als Lieferer-Nummer verwendet und taucht auf Papier, z.B. in der Buchführung, wieder auf, was dann wiederum zu Irritationen führt.
viele Grüße
Axel