Rainer Dörflinger: Datenbank komprimieren mit Access-XP

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

  1. 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