Durchnummerieren von Datensätzen in Access-Tabellen

Ein als AutoWert deklarierter Primärschlüssel sorgt zwar für eine fortlaufende Nummerierung, doch leider ist diese nicht lückenlos. Wird ein Datensatz zwischendrin gelöscht, so fehlt diese Nummer und wird nicht wieder vergeben.

Eine per AutoWert erzeugte Nummerierung ist nicht immer lückenlos...

Bild 1: Eine per AutoWert erzeugte Nummerierung ist nicht immer lückenlos…

Wie also kann eine fortlaufende Durchnummerierung der Datensätze in einer Tabelle erreicht werden?

Per Abfrage wird eine fortlaufende Nummerierung der Datensätze erreicht...

Bild 2: Per Abfrage wird eine fortlaufende Nummerierung generiert…

Nummer per Abfrage generieren

Mit Hilfe einer Abfrage und der Funktion DomAnzahl kann in einem neu berechneten Feld die Anzahl der vor dem aktuellen Datensatz liegenden Datensätze ermittelt werden.

DomAnzahl(„[MitgliedsNr]“; „tblMitglieder“;„[MitgliedsNr] < “ & [MitgliedsNr])

Zu dieser ermittelten Anzahl wird dann 1 hinzugezählt, um die Nummer des aktuellen Datensatzes zu erhalten.

Nummer: DomAnzahl(„[MitgliedsNr]“; „tblMitglieder“;“[MitgliedsNr] < “ & [MitgliedsNr]) + 1

Eine per DomAnzahl generierte Nummer sorgt für eine fortlaufende Nummerierung...

Bild 3: Eine per DomAnzahl generierte Nummer sorgt für eine fortlaufende Nummerierung…

Dieser Beitrag wurde unter Access abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

3 Antworten auf Durchnummerieren von Datensätzen in Access-Tabellen

  1. Herbymate sagt:

    Ich habe alle o.a.Variationen durchgeführt, geht nicht! Ich möchte in einem Formular folgendes: Bei Datensatz neu soll er sich die letzte Nummer der „Fortlaufenden Zahl“ suchen und im neuen Formular eins dazuzählen.
    Kann mir da jemand einen TIP geben. Ich hab Access 2013 und möchte das in VBA programmieren

  2. J.D sagt:

    Nach langen suchen, habe ich in meinem RechnungsForm ein Feld mit Standardwert folgenden Inhalt:
    =Nz(DomMax(„Rechnungs_NR“;“Rechnungen“);0)+1
    Ich kann dann die Rechnungs Nr. Manuel anpassen! Das ist zwar nicht wirklich richtig, aber für mich als Kleinbetrieb ist das völlig ok, da ich dafür gesort habe das „Gebuchte Rechnungen“ nach Zahlungs Eingang nicht zu ändern sind (sie lassen sich auch nicht löschen)!

    Grüsse

  3. Patrick sagt:

    Nützliche Funktion, gut verständlich erklärt. Ich versuche allerdings gerade sie anzuwenden und habe ein Problem, vielleicht weil die TAbelle erst nach einer User-ID und dann über einen Zeitstempel (Datum + Zeit) sortiert sind und ich somit statt [Mitgliedsnr] ein Feld mit Datumswerten nehme. Wie muss ich diese Funktion anpassen, damit ich da keine Syntaxfehler bekomme?

    ID: DomAnzahl(„[event_time]“;“EVENTS“;“[event_time]<" & [event_time])+1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.