Durchnummerieren von Datensätzen mit alternativen Sortierungen in Access

Im Beitrag vom 21. Oktober 2012 habe ich eine Lösung vorgestellt, mit der sich Datensätze einer Tabelle automatisch durchnummerieren lassen. Diese Variante funktioniert allerdings nicht, sobald nach einem anderen Feld als dem durch AutoWert generierten Primärschlüsselfeld sortiert werden soll.

Die Nummerierung gerät bei einer Sortierung nach Nachname durcheinander...

Bild 1: Die in der Variante vom 21. Oktober gewählte Nummerierung gerät beim Sortieren nach Nachnamen durcheinander.

Wie also kann beim Nummerieren eine alternative Sortierung berücksichtigt werden?

Nummerierung per Unterabfrage ermöglicht alternative Sortierung

Eine Nummerierung kann auch mittels einer Unterabfrage erreicht werden:

Nummer: (Select Count(*) from tblMitglieder as temp where temp.[Nachname] < tblMitglieder.Nachname)+1

In dieser Unterabfrage wird ermittelt, wie viele Nachnamen es gibt, die vor dem aktuellen Nachnamen liegen. Dieser Zahl wird dann eine 1 hinzuaddiert.

Nummerierung in nach Nachnamen sortierter Liste funktioniert per Unterabfrage

Bild 2: Das Nummerieren in einer nach Nachnamen sortierten Liste funktioniert per Unterabfrage

Fazit: Wird eine alternative Sortierung gewünscht, so ist im WHERE-Teil der Unterabfrage auf beiden Seiten der Bedingung das Feld einzubringen, nach dem in der eigentlichen Abfrage sortiert wird.

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

Schreibe einen Kommentar

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