Abfragen [basics]: Sortieren in Abfragen

Eine der wichtigsten Aufgaben von Abfragen in Access ist das Sortieren von Daten aus einer oder mehreren Tabellen. Theoretisch kann man Daten zwar auch in Tabellen nach verschiedenen Feldern in aufsteigender oder absteigender Reihenfolge sortieren. Allerdings gibt es dort verschiedene Hindernisse, die wir uns in diesem Artikel ansehen – und gleich zeigen, wie die Sortierung der Daten mithilfe einer Abfrage viel besser gelingt. Außerdem schauen wir uns an, wozu wir Daten überhaupt sortieren sollten!

Warum Daten sortieren

Die Gründe für das Sortieren von Daten sind zuallererst in ihrer Darstellung in Formularen und Berichten zu suchen. Während es Computern in vielen Aspekten egal ist, in welcher Reihenfolge man ihnen Daten zum Bearbeiten hinwirft, ist der Mensch schon ein wenig anspruchsvoller: Er möchte die Daten gern in einer bestimmten Reihenfolge sehen, damit er schneller findet, was er sucht (vorausgesetzt, er möchte dazu keinen Filter einsetzen).

Wenn man beispielsweise Artikel oder Kategorien auswählt, ist es sinnvoll, diese in alphabetischer Reihenfolge zu präsentieren. Wenn man in einer Liste von Adressen sucht, möchte man hingegen vielleicht lieber nach einem Zahlenwert wie der PLZ suchen. Jedenfalls hilft es den meisten Menschen, wenn die per Auge zu scannenden Daten in alphabetischer oder numerischer Reihenfolge vorliegen.

Sortieren in der Datenblattansicht

In der Datenblattansicht von Tabellen, Abfragen und Formularen kann man auch so schon sortieren. Man braucht also gar keine Abfrage anzulegen, um dies zu bewerkstelligen. Wir brauchen einfach nur auf die Schaltfläche rechts im Spaltenkopf der Spalte zu klicken, nach der wir die Datensätze sortieren wollen. Dann wählen wir aus dem nun erscheinenden Menü einen der Einträge Von A bis Z sortieren oder Von Z bis A sortieren aus (siehe Bild 1).

Sortieren in Tabellen

Bild 1: Sortieren in Tabellen

Wir können auch nach mehr als einer Spalte gleichzeitig direkt in der Datenblattansicht sortieren. Das ist allerdings nicht besonders intuitiv. Wenn man erst eine aufsteigende Sortierung für das Feld Produktbezeichnung wählen würde und dann für Einzelpreis, wird zuerst nach dem Feld Einzelpreis sortiert und dann nach dem Produktnamen. Wo kann man das nun sehen Dazu müssen wir in die Entwurfsansicht der Tabelle wechseln. Diese liefert mit der Eigenschaft Sortiert nach die Felder und die Reihenfolge, in der nach ihnen sortiert wird (siehe Bild 2).

Sortierung in der Entwurfsansicht einer Tabelle

Bild 2: Sortierung in der Entwurfsansicht einer Tabelle

Wenn wir die Tabelle tblProdukte also erst nach der Produktbezeichnung und dann nach dem Einzelpreis sortieren wollen, müssen wir erst die Sortierung nach dem Einzelpreis festlegen und dann die nach der Produktbezeichnung.

Man kann die so eingestellte Sortierung sogar mit dem Tabellenentwurf speichern. Es bringt allerdings nichts, denn Abfragen, Formulare und Berichte nehmen keine Rücksicht auf die dort hinterlegten Sortierkriterien.

Sortieren in Abfragen

Also wechseln wir gleich zu den Möglichkeiten der Sortierung in Abfragen. Wir erstellen mit dem Ribbon-Befehl Erstellen|Abfragen|Abfrageentwurf eine neue Abfrage und fügen dieser die Tabelle tblProdukte hinzu. Aus dieser ziehen wir alle Felder in das Entwurfsraster.

Nun können wir in der Zeile Sortierung die gewünschte Sortierung auswählen. Hier wollen wir zuerst nach dem Feld Produktbezeichnung und dann nach dem Feld Einzelpreis sortieren, was wir durch Einstellen der Sortierung wie in Bild 3 realisieren.

Sortierungen im Abfrageentwurf

Bild 3: Sortierungen im Abfrageentwurf

Wechseln wir nun in die Datenblattansicht der Abfrage, erhalten wir die Sortierung wie in Bild 4. Hier sehen wir, dass erst nach der Spalte Produktbezeichnung und dann nach dem Einzelpreis sortiert wird. Um es vorwegzunehmen: Im Gegensatz zum Festlegen einer Sortierung in der Datenblattansicht einer Tabelle spielt es hier keine Rolle, in welcher Reihenfolge wir die Sortierung eingestellt haben. Wir können diese auch erst für das Feld Einzelpreis und dann für Produktbezeichnung definieren, das Ergebnis bleibt das gleiche.

Sortierung nach Produktname und Einzelpreis

Bild 4: Sortierung nach Produktname und Einzelpreis

Aber wenn das bei Abfragen nicht funktioniert, wie soll ich dort dann einstellen, das die Abfrage zuerst nach dem Einzelpreis sortieren soll und dann nach der Produktbezeichnung Das gelingt auf zwei Arten.

Die erste ist das Vertauschen der beiden Spalten. Wir ziehen also in der Entwurfsansicht die Spalte Produktbezeichnung hinter die Spalte Einzelpreis und vertauschen diese somit.

Dazu ist zuvor ein Klick auf den schmalen Spaltenkopf über der Zeile mit den Feldnamen erforderlich. Dies markiert die zu bewegende Spalte komplett schwarz und nun kann man sie per Drag and Drop, ebenfalls über den Spaltenkopf, an die gewünschte Stelle ziehen (siehe Bild 5).

Vertauschen der Spalten

Bild 5: Vertauschen der Spalten

Wechseln wir nun in die Datenblattansicht, erhalten wir zwar die gewünschte Sortierung – also erst nach dem Einzelpreis, dann nach dem Produktnamen -, aber die Spalten werden nicht mehr wir zuvor gedacht angezeigt (siehe Bild 6).

Die gewünschte Sortierung, aber falsche Spaltenreihenfolge

Bild 6: Die gewünschte Sortierung, aber falsche Spaltenreihenfolge

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar