Zeitpläne mit Access erstellen, Teil 3

In den ersten beiden Teilen dieser kleinen Serie wurde beschrieben, wie man mit reinen Access-Bordmitteln ein Formular mit einem flexiblen grafischen Monatsplan erstellt. Diesmal geht es darum, wie mit wenigen Schritten aus dem Formular ein Bericht wird.

Papier los

Bei der alltäglichen Verwendung des Zeitplanes gibt es immer wieder Situationen, in denen Papier gefragt ist.

Berichte eignen sich wesentlich besser als Formulare, wenn Sie den Zeitplan ausdrucken möchten, um etwa einen Belegungs- oder Urlaubsplan an der Pinnwand oder als PDF “schreibgeschützt” zu veröffentlichen.

Ich gehe bei dieser schrittweisen Anleitung von der Beispieldatenbank in Teil 2 aus, also dem Plan-Formular mit flexiblen Zeiträumen.

Hinweis

Auf der Begleit-CD finden Sie die Beispiel-Datenbank im Format von Access 2000 mit allen hier behandelten Quellcodes. Die ersten beiden Artikel Zeitpläne mit Access erzeugen finden Sie in den Ausgaben 3/2006 und 1/2007 sowie im Online-Archiv unter Shortlink 353 und 441.

Bild 1 zeigt das Ziel der Bemühungen. Der Bericht soll optisch genau dem Formular entsprechen, also den aktuell im Formular eingestellten Zeitraum mit den gleichen Formatierungen und so weiter wiedergeben.

Abbildung1.tif

Bild 1: Formular und Bericht auf einen Blick

Formular als Bericht klonen

Wir verwenden die einfachste Art, aus einem Formular einen Bericht zu erzeugen:

Rechter Mausklick im Datenbankfenster auf das Formular frmPlan, im Kontextmenü Speichern Unter wählen. Als Objektname verwenden Sie rptPlan und speichern die Kopie als Bericht.

Das ist natürlich erst die Basis für die weiteren nötigen Anpassungsarbeiten, denn erstens passt der Bericht nicht auf eine Din-A4-Seite und zweitens entspricht der beim Kopieren ebenfalls übernommene Formularcode nicht den Erfordernissen eines Berichts. Diesen Code im Bericht können Sie erst einmal komplett löschen.

Die Oberfläche anpassen

Als Erstes können Sie alle Schaltflächen im Bericht ersatzlos löschen. Sie haben hier keine Funktion. Erst mit dem neuen Access 2007 ist es möglich, auf Objekte in einem Bericht zu klicken, um Code auszuführen.

Hier wird hingegen davon ausgegangen, dass die Steuerung der Zeiträume komplett im Planformular erfolgt und der Bericht die dort gewählten Daten 1:1 anzeigen soll.

Aus dem gleichen Grund wandeln Sie im nächsten Schritt alle Kombinationsfelder in Textfelder um. Das erste Kombinationsfeld ist cboJahr. Also rechter Mausklick auf cboJahr, im Kontextmenü ändern zu/Textfeld wählen. Den Namen des Textfeldes ändern Sie auf txtJahr, der neue Steuerelementinhalt lautet:

=[Formulare]![frmPlan]![cboJahr]

Dadurch bezieht das Textfeld von nun an seinen Inhalt passiv aus dem korrespondierenden Steuerelement des Formulars. Analog gehen Sie für alle Steuerelemente in der oberen Zeile vor, also cboMonat, grpKW, cboKW, txtVon, txtBis.

Gehen Sie davon aus, dass der Ausdruck auf einem Blatt der Größe Din-A4 komplett Platz haben soll. Der Bericht sollte dazu auf Querformat eingestellt und seine Seitenränder möglichst klein sein.

Die Höhe des Berichts hängt natürlich von der Anzahl der Datensätze ab. Jedenfalls ist es recht einfach, die Höhe zu verringern, indem man schlicht alle Steuerelemente im Detailbereich markiert und ihre Höhe in einem Zug entsprechend anpasst. Anders ist das Vorgehen bei der Breite des Kalenders. Sie wird im Wesentlichen per Code gesetzt und ist daher dort einzustellen. Dazu mehr weiter unten im Text.

Den Code anpassen

Ich habe bereits in einem früheren Teil dieser kleinen Serie dargestellt, dass sich der Code zur Formatierung des Planes nur zu Demonstrationszwecken komplett im Planformular befand.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar