Home > Artikel > Ausgabe 9/2011 > Sortieren in Berichten

Sortieren in Berichten

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

In Tabellen stellen Sie die Sortierung in der Datenblattansicht ein, in Abfragen legen Sie diese im Entwurfsraster fest und in Formularen und den enthaltenen Steuerelementen wie Kombinationsfeldern und Listenfeldern gibt die für die Datenherkunft festgelegte Reihenfolge den Takt vor. Wie aber sieht es in Berichten aus? Um es vorweg zu nehmen: ganz anders. Dieser Artikel erläutert, wie Sie die in Berichten anzuzeigenden Daten sortieren.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1109_SortierenInBerichten.mdb.

Sortieren und ...

Es ist sicher einer der weitverbreitetsten Anfängerfehler: Sie stellen die in einem Bericht anzuzeigenden Daten mithilfe einer entsprechenden Abfrage zusammen und weisen diese dem Bericht als Datenherkunft zu. Sie füllen den Bericht mit Steuerelementen, wechseln in die Seitenansicht und ... was ist das? Warum sortiert der Bericht die Daten nicht wie in der zugrunde liegenden Abfrage vorgegeben?

Der Grund für dieses Verhalten ist: Berichte haben einen eigenen Dialog, mit dem Sie die Reihenfolge der anzuzeigenden Daten festlegen. Die Sortierreihenfolge der als Datenherkunft verwendeten Tabellen oder Abfragen wird unter Umständen schlicht ignoriert, auch wenn Sie im Bericht gar keine explizite Sortierreihenfolge angeben. Das bedeutet: Es kommt vor, dass die in der Abfrage angegebene Sortierreihenfolge berücksichtigt wird, aber dies geschieht nicht zuverlässig. Das ist aber auch kein Problem, denn Berichte bringen ihre eigene Funktion zum Festlegen der Sortierung fest, ja sogar einen eigenen Dialog.

Diesen öffnen Sie am einfachsten, indem Sie in der Entwurfsansicht des Berichts mit der rechten Maustaste auf einen der Bereichsköpfe klicken und den Eintrag Gruppieren und sortieren aus dem Kontextmenü auswählen (siehe Bild 1).

Aufruf des Dialogs zum Angeben einer Sortierung für die Daten des Berichts

Bild 1: Aufruf des Dialogs zum Angeben einer Sortierung für die Daten des Berichts

Es erscheint der Dialog aus Bild 2, mit dem Sie die Sortierreihenfolge einstellen können. Wenn Sie beispielsweise eine Artikelliste nach dem Inhalt des Feldes Artikelname sortieren möchten, wählen Sie unter Feld/Ausdruck den Eintrag Artikelname aus und behalten rechts unter Sortierreihenfolge den Wert Aufsteigend bei.

Angeben der Sortierreihenfolge eines Berichts

Bild 2: Angeben der Sortierreihenfolge eines Berichts

Wenn Sie wie in Bild 3 gleich nach mehreren Felder sortieren möchten, berücksichtigen Sie, dass die Sortierung von oben nach unten abgearbeitet wird. Das bedeutet in diesem Beispiel, dass erst nach dem Vornamen und dann nach dem Nachnamen sortiert wird (siehe Bild 4).

Sortierung nach Vorname und Nachname

Bild 3: Sortierung nach Vorname und Nachname

Bericht mit zweifacher Sortierung

Bild 4: Bericht mit zweifacher Sortierung

Sortieren nach Nachschlagefeldern

Access macht es dem Entwickler an vielen Stellen sehr einfach. Sie können beispielsweise Datensätze der Tabelle tblArtikel mitsamt Kategorie- und Lieferantennamen in einem Bericht anzeigen, ohne dass die Tabellen tblKategorien und tblLieferanten explizit zur Datenherkunft hinzugefügt werden. Die anzuzeigenden Werte liegen lediglich in Form der Datensatzherkunft der in der Tabelle tblArtikel definierten Nachschlagefelder vor. Wenn Sie diese Felder zum Berichtsentwurf hinzufügen, werden diese zwar noch als Kombinationsfeld angezeigt (Access übernimmt hier die im Tabellenentwurf festgelegten Einstellungen, aus einem Nachschlagefeld wird also ein Kombinationsfeld). Beim Wechsel in die Seitenansicht und auch beim Drucken ersetzt Access die Kombinationsfelder jedoch durch einfache Textfelder und zeigt schlicht die Texte an, die auch die Kombinationsfelder angezeigt hätten.

Was aber geschieht, wenn Sie etwa nach dem Feld LieferantID der Tabelle tblArtikel sortieren (siehe Bild 5)? Der Bericht zeigt zwar die Lieferantennamen statt der ID an, aber die Sortierung berücksichtigt die im Fremdschlüsselfeld gespeicherten Werte (siehe Bild 6).

Einrichten der Sortierung nach einem Fremdschlüssel-/Nachschlagefeld

Bild 5: Einrichten der Sortierung nach einem Fremdschlüssel-/Nachschlagefeld

Das Sortieren nach Werten aus Nachschlagefeldern funktioniert nicht wie erwartet.

Bild 6: Das Sortieren nach Werten aus Nachschlagefeldern funktioniert nicht wie erwartet.

Wenn Sie in einem Bericht also tatsächlich nach Feldinhalten sortieren wollen, die in Kombinationsfeldern angezeigt werden, müssen Sie die entsprechenden Felder der verknüpften Tabellen mit in die Datenherkunft aufnehmen und diese im Dialog Sortieren und gruppieren angeben. Die Abfrage mit den Feldern Lieferant und Kategorie sähe dann etwa wie in Bild 7 aus.

Um im Bericht nach dem Inhalt von Nachschlagefeldern sortieren zu können, müssen die Felder mit den Werten in der Datenherkunft enthalten sein.

Bild 7: Um im Bericht nach dem Inhalt von Nachschlagefeldern sortieren zu können, müssen die Felder mit den Werten in der Datenherkunft enthalten sein.

Nachdem Sie diese Abfrage als Datenherkunft des Berichts eingestellt haben, können Sie im Dialog Sortieren und gruppieren das Feld Firma als Sortierkriterium auswählen (siehe Bild 8). Danach gelingt auch die Sortierung nach Feldern wie Firma oder Kategoriename (siehe Bericht rptArtikelNachLieferant).

Das Feld Firma der Tabelle tblHersteller wird nun als Sortierkriterium festgelegt.

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!