Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Zusammenfassung
Ergänzen Sie umfangreiche Berichte durch ein Inhaltsverzeichnis.
Techniken
Berichte
Voraussetzungen
Access 2000 oder höher
Beispieldateien
Karl Donaubauer, Wien
Dem an sich leistungsfähigen Reportgenerator von Access fehlt eine eingebaute Funktionalität für Inhaltsverzeichnisse. Durch die Vielfalt der Einstellungen für Gruppierungen, Zusammenhalten und Seitenumbrüche können die Formatierungsvorgänge in Berichten sehr komplex werden. Eine selbst programmierte Lösung zum Erzeugen von Inhaltsverzeichnissen muss darauf Rücksicht nehmen.
Die Tabelle tblOrte (siehe Bild 1) enthält rund 270 Datensätze mit den Feldern Land, Bundesland und Ort. Die Datenstruktur ist abgeflacht, um die Beispiele in Hinblick auf die Daten einfach zu halten. Im normalisierten Fall müssten das natürlich mehrere Tabellen mit 1:n-Beziehungen sein. Zudem enthält die Tabelle ein Ja/Nein-Feld namens Drucken, das eine einfache Filtermöglichkeit für Tests mit den Inhaltsverzeichnissen bietet.
Die zweite Tabelle tblInhaltsverzeichnis dient dazu, die Information zum Erstellen der Inhaltsverzeichnisse aufzunehmen. Die Tabelle hat eine sehr einfache Struktur (siehe Bild 2). Sie besitzt nur zwei relevante Felder zur Aufnahme der Texteinträge und Seitenzahlen für das Inhaltsverzeichnis.
Bild 1: Die Testdaten in der Tabelle tblOrte
Bild 2: Tabelle für die Daten der Inhaltsverzeichnisse
Die einzige Abfrage qryOrte dient als Datenquelle aller Berichts-Beispiele, um die Daten der Tabelle tblOrte über das bereits erwähnte Ja/Nein-Feld filtern zu können.
Das einzige Formular frmBerichtOeffnen (siehe Bild 3) enthält ein Listenfeld mit den Berichtsnamen und eine Schaltfläche zum öffnen. Der entsprechende Code wird später erläutert.
Bild 3: Formular zum Aufrufen der Berichte
Es gibt mehrere Beispiel-Berichte und ein Standardmodul basInhaltsVerzeichnis, das fast den gesamten Code zur Erzeugung der Inhaltsverzeichnisse enthält.
öffnen Sie das Formular frmBerichtOeffnen, wählen Sie im Listenfeld den ersten Bericht rptOrteLaender1 und öffnen Sie ihn entweder per Doppelklick auf den Listeneintrag oder durch Klick auf die Schaltfläche.
Bild 4: Inhaltsverzeichnis im Berichtskopf
Bild 4 zeigt die erste Seite des Berichtes mit einem einfachen Inhaltsverzeichnis auf Basis der Länder. Bild 5 zeigt eine typische Seite für die Beispiel-Berichte mit Gruppierungen und Gruppenköpfen für die Länder und Bundesländer, wie für solche 1:n-Strukturen üblich.
Bild 5: Bericht mit Gruppierung nach Ländern
Wenn Sie in die Entwurfsansicht des Berichtes wechseln, sehen Sie, dass der Unterbericht rptInhaltsverzeichnis das Inhaltsverzeichnis liefert. Er bezieht seine Daten aus der schon erwähnten Hilfstabelle tblInhaltsverzeichnis, die dynamisch per Code geleert und gefüllt wird.
Wie funktioniert nun die Sache im Detail Die ersten Schritte erfolgen im Code hinter der Schaltfläche des Formulars (s. Quellcode 1).
Die erste wichtige Codezeile ist jene mit dem DELETE. Sie löscht zunächst alle alten Einträge in der Tabelle tblInhaltsverzeichnis.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo