28.01.2013 Aufrufe

7a-Überarbetee und redigierte neue Reportanleitung - SVWS-NRW

7a-Überarbetee und redigierte neue Reportanleitung - SVWS-NRW

7a-Überarbetee und redigierte neue Reportanleitung - SVWS-NRW

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Arbeiten mit dem <strong>neue</strong>n<br />

Formulardesigner<br />

in SchILD-<strong>NRW</strong><br />

Eine Handreichung für Moderatoren <strong>und</strong> Teilnehmer<br />

von Schulungen<br />

1. überarbeitete <strong>und</strong> ergänzte Fassung<br />

9. Mai 2009<br />

Für die Ausführungen wurden die SchILD-<strong>NRW</strong>-Version 1.5.69.4 <strong>und</strong> die Version 0.98.27 des<br />

Formulardesigners <strong>und</strong> die Daten einer Fantasie-Datenbank zugr<strong>und</strong>e gelegt. Mit den Versionen 1.6.70.10<br />

von SchILD-<strong>NRW</strong> <strong>und</strong> 1.0.0.64 des Formulardesigners wurden die vorgestellten Beispiele überarbeitet.<br />

Danken möchte ich an dieser Stelle Herrn Ulrich Mertsch für das sorgfältige <strong>und</strong> kritische Korrekturlesen.<br />

Diese Schrift darf beliebig kopiert <strong>und</strong> vervielfältigt werden (auch in Auszügen), wenn der © -Vermerk mit<br />

kopiert bzw. vervielfältigt wird.<br />

Erstellt im Dez. 2008 <strong>und</strong> überarbeitet im April 2009 von Heinz Glasmacher ©


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Einleitung<br />

Es soll anhand einiger typischer Beispiele beschrieben werden, wie man Berichtsvorlagen<br />

erstellen kann. Dabei wird das Handling mit der <strong>neue</strong>n Formularverwaltung etc. als<br />

bekannt vorausgesetzt.<br />

In diesem (<strong>neue</strong>n) Einleitungskapitel wird zuerst einmal beschrieben, wie man die <strong>neue</strong><br />

Formularverwaltung <strong>und</strong> den Formulardesigner in eine bestehende SchILD-Installation<br />

einbindet.<br />

Hierzu starten Sie die Installationsdatei (in diesem Fall: RepNeuSetup10064.exe) <strong>und</strong><br />

bestätigen bzw. beantworten die Fragen zur Installation in Abhängigkeit der SchILD-<br />

Installation auf Ihrem PC. Wenn Sie bis zur Meldung „Fertigstellen“ gekommen sind, ist<br />

der erste Schritt der Installation erfolgreich abgeschlossen.<br />

Jetzt starten Sie SchILD wie gewohnt <strong>und</strong> wählen aus dem Extras-Menü den Punkt<br />

Programm-Einstellungen <strong>und</strong> hier die Registerkarte Plugins. Setzen Sie (durch Anklicken)<br />

ein Häkchen in das Kästchen vor Report-Modul. [Hinweis: Wenn das Report-Modul hier<br />

nicht erscheint, bitte in der Datei „...\SchILD-<strong>NRW</strong>\schild.plugins\SchILDPlugins.ini“ die<br />

Zeile „Reportmodul=Reporting.dll“ eintragen.] Wie in der Überschrift beschrieben ist, wird<br />

dieses Plugin aber erst nach einem Neustart von SchILD wirksam.<br />

Wenn Sie jetzt SchILD neu starten <strong>und</strong> Druckausgabe wählen, können Sie im Menü die<br />

<strong>neue</strong>n Optionen zur <strong>neue</strong>n Reportverwaltung sehen:<br />

Neue <strong>Reportanleitung</strong>.doc Seite 2 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Beim ersten Aufruf der Option „Report-Explorer aufrufen (<strong>neue</strong> Version)“, werden Sie<br />

darauf hingewiesen, dass das Verzeichnis „SchILD-Reports“ nicht existiert, <strong>und</strong> gefragt, ob<br />

es angelegt werden soll. Bestätigen Sie diese Frage mit „Ja“. Es öffnet sich der <strong>neue</strong><br />

Reportexplorer, der sich in der Ansicht nicht wesentlich vom alten Explorer unterscheidet.<br />

Wesentlich ist allerdings, dass jetzt alle aufgelisteten Ordner <strong>und</strong> Dateien real auf dem PC<br />

vorhanden sind <strong>und</strong> nicht mehr (wie im alten Explorer) nur in einer Datenbank<br />

(reports.mdb) existieren. Nach diesem Erst-Start sind außer dem Ordner SchILD-Reports<br />

keine Unterordner <strong>und</strong>/oder Dateien vorhanden. Hierzu gibt es im Internet (auf der<br />

Standardseite) die Datei „Report-Vorlagen.zip“, in der die Dateien vorhanden sind. Diese<br />

sollten Sie laden <strong>und</strong> (unabhängig von SchILD) in das Verzeichnis SchILD-Reports hinein<br />

entpacken. Hierin sind viele wichtige <strong>und</strong> interessante Berichtsvorlagen in importierter<br />

Form für den <strong>neue</strong>n Reportdesigner vorhanden. Die Struktur der Ordner entspricht dabei<br />

etwa der bisherigen Verzeichnisstruktur allerdings in einem Ordner „Report_Vorlagen“.<br />

Erstellen Sie sich hier einen Ordner „Header_Footer“ <strong>und</strong> evtl. weitere Ordner „Eigene<br />

Reports“, „Entwuerfe“ ... <strong>und</strong> verschieben Sie den Ordner „Standard“ aus „Report-<br />

Vorlagen“ in den Ordner „SchILD-Reports“. (Alles auf der Windows-Ebene).<br />

Hinweis: Sie können selbstverständlich diese ganzen Datei-Operationen auch<br />

durchführen, ehe Sie zum ersten Mal den Report-Explorer starten. Dazu müssten Sie<br />

zuerst das Verzeichnis „SchILD-Reports“ ´von Hand´ erzeugen, <strong>und</strong> natürlich wird die<br />

Meldung, dass das Verzeichnis nicht existiere, dann beim Start des Explorers nicht<br />

erscheinen.<br />

Das sieht dann nach Aufruf des Report-Explorers (neu) etwa so aus:<br />

Neue <strong>Reportanleitung</strong>.doc Seite 3 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Wenn Sie jetzt etwa über „Datei -> Neuer Report“ oder einfacher durch Anklicken des<br />

entsprechenden Icons den Reportdesigner (zum Erstellen eines <strong>neue</strong>n Berichts) öffnen,<br />

erhalten Sie die folgende Maske:<br />

Das Erscheinungsbild ist gegenüber dem alten Designer etwas ungewohnt, aber es lässt<br />

sich auch einiges anpassen <strong>und</strong> verändern:<br />

Den Berichtsbaum etwa können Sie ausschalten (X) oder von links nach rechts<br />

verschieben, den Feldassistenten ebenso <strong>und</strong> unter Ansicht auch die Rastereinstellungen<br />

verändern. Auch die Werkzeugleiste sollte (wie gewohnt) unter Ansicht angepasst werden,<br />

damit Sie z.B. die Werkzeuge zum Ausrichten <strong>und</strong> Verschieben u.a.m. zur Verfügung<br />

haben.<br />

„Spielen“ Sie mit diesen Einstellungen erst einmal ein wenig herum, damit Sie damit<br />

vertraut werden.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 4 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

1. Erstellung eines individuellen Kopfes <strong>und</strong> Fußes<br />

Erzeugung eines Kopfes<br />

Vorgegeben sind (standardmäßig im Verzeichnis „Subreports“ bzw. „Header_Footer“) ein<br />

Standardkopf <strong>und</strong> ein Standardfuß. Diese verwenden die Daten der Schule aus der<br />

Datenbank (SchILD). In der Praxis ist es aber eher so, dass jede Schule individuell<br />

zumindest ihren eigenen Kopf entwickeln möchte, der dann bei Bedarf in die<br />

entsprechenden Berichte eingeb<strong>und</strong>en wird. Diesem Bedürfnis wird hier entsprochen,<br />

indem gezeigt wird, welche Schritte zu tun sind, um einen eigenen Schulkopf zu<br />

entwickeln.<br />

Dieser Kopf soll am Ende etwa so aussehen:<br />

Zur Erstellung dieses (oder eines anderen Kopfes) gehen Sie folgendermaßen vor: Öffnen<br />

Sie die Formularverwaltung <strong>und</strong> wählen Sie zum Erstellen eines <strong>neue</strong>n Berichts. Im<br />

sich öffnenden Formulardesigner klicken Sie im Menü „Bericht“ auf „Fuß“ <strong>und</strong> „Kopf“, um<br />

diese auszuschalten. Es bleibt nur der Detailbereich übrig. Diesen ziehen Sie sich so groß,<br />

wie Sie ihn etwa benötigen. Wichtig ist, dass Sie unter<br />

„Bericht“ -> „Datenquellen“ anwählen <strong>und</strong> hier aus der<br />

Angebotsliste „“ (ganz am Anfang der Liste)<br />

aussuchen.<br />

Zum Erstellen von festen Textelementen werden im<br />

Berichtsdesigner sogenannte „einfache Textelemente“<br />

(Labels) verwendet. Jetzt erstellen Sie den Text über<br />

einfache Label so, wie Sie es gerne hätten (Schrifttyp, Schriftgröße ...). Wenn Sie noch ein<br />

Logo einfügen wollen, so wählen Sie dafür das Werkzeug „Bild“ , klicken hierauf mit<br />

der rechten Maustaste <strong>und</strong> wählen über „Bild...“ die gewünschte Datei aus. Anschließend<br />

klicken Sie bitte noch einmal mit der rechten Maustaste auf das Element <strong>und</strong> wählen<br />

„Dehnen“ aus, damit das volle Logo in das Rähmchen eingepasst wird. Das Rähmchen<br />

können Sie nun so groß ziehen, wie Sie es benötigen.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 5 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Das sieht dann ungefähr so aus:<br />

Falls Sie einen Kopf in voller Seitenbreite als Grafik erstellen wollen, so brauchen Sie nur<br />

die beschriebene Aktion ab „Bild...“ auszuführen, wobei Sie natürlich das Feld<br />

entsprechend breit ziehen müssen.<br />

Hinweis: Wenn Sie das Schullogo aus der Datenbank (unter „Schulverwaltung“ -> „Schule<br />

bearbeiten“) einbinden wollen, dann wählen Sie statt des Elements „Bild“ das Element<br />

DBImage <strong>und</strong> aus der Datenquelle „Eigene Schule“ das Element „SchulLogo“.<br />

Sollte dabei das Fensterchen für das Datenelement nicht sichtbar sein, so können Sie (wie<br />

üblich in solchen Werkzeugleisten) durch Klick auf das Symbol >> Platz schaffen <strong>und</strong> die<br />

Anordnung verändern.<br />

Anschließend speichern Sie den Bericht unter frei gewähltem Namen (etwa „eigener<br />

SchulKopf“) im Verzeichnis Header_Footer ab <strong>und</strong> schließen Sie den Formulardesigner.<br />

Einbinden des soeben erstellten Kopfes in ein beliebiges Dokument<br />

Öffnen Sie (im Fenster Formularverwaltung) den Bericht, den Sie mit dem Kopf verbinden<br />

möchten, zum Bearbeiten . Ziehen Sie den grauen Balken am unteren Ende des<br />

Kopfbereiches so weit nach unten, dass Ihr Kopf hineinpasst. Jetzt legen Sie einen<br />

„dynamisch ladbaren Subreport“ in diesem Bereich ab, das soll heißen: Sie klicken in<br />

der Werkzeugleiste auf das entsprechende Icon <strong>und</strong> anschließend im Berichtsentwurf an<br />

die enstprechende Stelle. Hier bildet sich jetzt ein Rähmchen mit dem Namen<br />

„Dynamischer Subreport“. Ziehen Sie dessen Rahmen soweit auf, wie es jetzt in dem<br />

vergrößerten Kopfbereich geht. Anschließend tragen Sie in dem Berichtsbaum unter<br />

Miscellaneous den Namen des Kopf-Berichtes ein.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 6 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Etwa so:<br />

Das geht auch (einfacher) über die rechte Maustaste in diesem Feld <strong>und</strong> Auswahl von<br />

„Subreport-Datei wählen ....“ <strong>und</strong> Auswahl der entsprechenden Datei.<br />

Jetzt sollten Sie den Bericht schließen, die Änderungen speichern <strong>und</strong> sich das Ergebnis<br />

in der Vorschau ansehen.<br />

Erzeugung eines Fußes<br />

Im Prinzip völlig analog lässt sich auf die gleiche Art <strong>und</strong> Weise ein eigener Fuß erzeugen,<br />

abspeichern <strong>und</strong> in Dokumente einbinden.<br />

Hier die einzelnen Schritte in Kurzform:<br />

- Öffnen des Designers zum Erstellen eines <strong>neue</strong>n Berichtes.<br />

- Unter Bericht „Kopf“ <strong>und</strong> „Fuß“ ausschalten.<br />

- Bei Datenquellen - ebenfalls unterhalb Bericht – wieder eintragen.<br />

- Schreiben des gewünschten Inhalts in ein oder mehrere Textfelder oder mittels einer<br />

Kombination von Textfeldern <strong>und</strong> DBTextfeldern (zur Erzeugung solcher Elemente s.<br />

im Kontext weiter unten im Kapitel 2), etwa so:<br />

- Abspeichern im Verzeichnis Header_Footer etwa unter dem Namen „eigener<br />

SchulFuss“.<br />

Einbinden des soeben erstellten Fußes in ein beliebiges Dokument<br />

Analog zum Einbinden des Kopfes:<br />

- Öffnen Sie den Bericht, den Sie mit dem Fuß verbinden wollen.<br />

- Anpassen des Fußbereiches im Dokument in der Höhe durch Ziehen des unteren<br />

Abschlussbalkens nach unten.<br />

- Einfügen eines „dynamisch ladbaren Subreports“ in den Fußbereich (ggfls. Größe<br />

anpassen).<br />

- Rechte Maustaste <strong>und</strong> unter „Subreport-Datei wählen ...“ den Filenamen, etwa „eigener<br />

SchulFuss.rtm“ auswählen.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 7 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

2. Erstellen einer Schülerliste mit Subreports für Erzieher <strong>und</strong> Telefone<br />

(nach einer Idee <strong>und</strong> Vorlage im alten System von Herrn Dr. J. Richter, ribeka)<br />

Im Folgenden soll eine Schülerliste erstellt werden, die etwa das folgende Bild liefert:<br />

Wenn Sie diesen Report nacherstellen wollen, so öffnen Sie den Reportdesigner zum<br />

Erstellen eines <strong>neue</strong>n Berichtes (Menü: "Datei", dann "Neuer Report" oder Klick auf ).<br />

Wir kümmern uns zuerst einmal um den Detailbereich:<br />

Wählen Sie das Werkzeug (DBText) aus <strong>und</strong> legen das Element an eine günstige<br />

Stelle im Detailbereich ab. Die Datenquelle „Schueler“ ist vorgegeben, wählen Sie jetzt<br />

noch das Feld „NameVorname“ aus .<br />

Klicken Sie anschließend mit der rechten Maustaste auf das Feld <strong>und</strong> wählen Sie aus dem<br />

Menü „Automatische Größenanpassung“ aus. Für die Formatierung wählen Sie etwa die<br />

Schriftgröße 10 <strong>und</strong> Fett. Analog erzeugen Sie (ohne Fettdruck) weitere Elemente für die<br />

Straße (mit Hausnummer), die Postleitzahl <strong>und</strong> den Ortsnamen. (Achtung: Der Ortsname<br />

Neue <strong>Reportanleitung</strong>.doc Seite 8 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

trägt den Feldnamen „OrtAbk“, verwenden Sie das „Kunst“-feld „PLZ_Ort“ für die<br />

Kombination der beiden Feldinhalte). Ausrichten können Sie die Elemente mittels der<br />

Werkzeuge (Führen Sie den<br />

Mauszeiger langsam auf einzelne Elemente, so wird Ihnen die Funktion angezeigt.)<br />

Ihr Berichtsentwurf sieht jetzt etwa so aus: <strong>und</strong> die Vorschau zeigt:<br />

Jetzt sollen die laufende Nummer vor den Namen platziert <strong>und</strong> eine horizontale Linie zur<br />

besseren Lesbarkeit erzeugt werden. Die Nummer erhalten Sie durch das Element<br />

DBCalc , Klick auf das Element mit der rechten Maustaste, dann „Berechnungen“ –<br />

„laufender Zähler“. Formatierung <strong>und</strong> Ausrichtung wie beim Namensfeld, aber<br />

rechtsbündig <strong>und</strong> von Hand klein ziehen. Die horizontale Linie erzeugen Sie mit <strong>und</strong><br />

Auswahl von , anschließend wieder rechte Maustaste <strong>und</strong><br />

„Breite der Stammkomponente“ wählen. Anschließend an den oberen Rand des<br />

Detailbandes verschieben. Überprüfen Sie das Ergebnis in der Vorschau.<br />

Wenn Sie – wie in der Vorlage – die Fotos der Schüler noch mit ausgeben wollen, dann<br />

legen Sie in das Detailband an eine günstige Position ein DBImageElement ab. Dann<br />

stellen Sie oben in den Auswahlfenstern die Datenquelle <strong>und</strong> den Feldnamen ein<br />

<strong>und</strong> klicken mit der rechten Maustaste<br />

auf das Element. Wählen Sie aus dem Menü einmal "Dehnen" <strong>und</strong> zum Zweiten die<br />

richtige Grafikart (jpg).<br />

Jetzt ist es vielleicht an der Zeit, dem Bericht das Seitenlayout „Querformat“ zu geben.<br />

Hierzu aus dem Menü: „Datei“ -> „Seite einrichten“ -> „Papiergröße“ -> „Querformat“<br />

wählen.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 9 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Jetzt müssen die Felder für die Erziehungsberechtigten analog eingetragen werden. Doch<br />

hierfür müssen Sie einen SubReport (Unterbericht) erstellen, weil es ja Schüler/-innen gibt,<br />

bei denen es mehr als 1 Datensatz innerhalb der Tabelle der Erz-berechtigten gibt. Sie<br />

nehmen zur Erstellung des Subreports das Werkzeug <strong>und</strong> platzieren es in das<br />

Detailband. In dem Bereich wird angezeigt: „Subreport1: Keine Datenquelle zugewiesen“.<br />

Dafür gibt es jetzt oben links in der 2. Werkzeugleiste ein freies Feld mit einem<br />

Listenverweis am rechten Rand. Klicken Sie hierauf <strong>und</strong> wählen Sie die Datenquelle<br />

„Erzieher“ aus. Dann schalten Sie über die rechte Maustaste die Voreinstellung „Breite der<br />

Stammkomponente“ aus <strong>und</strong> ziehen das Kästchen für den SubReport etwa auf ein Drittel<br />

der Seitenbreite (verwenden Sie das obere Lineal) <strong>und</strong> ganz bis an den oberen Rand des<br />

Detailbereiches. Am unteren Rand Ihres Arbeitsbereiches sind jetzt 2 Reiter zu sehen:<br />

Klicken Sie auf „SubReport1: Erzieher“ <strong>und</strong><br />

es öffnet sich wieder ein leerer Arbeitsbereich wie zu Beginn Ihrer Arbeit. Über „Bericht“<br />

schalten Sie „Titel“ <strong>und</strong> „Zusammenfassung“ aus. In den Detailbereich fügen Sie jetzt die<br />

Elemente „Bezeichnung“, „Vornamen<strong>und</strong>Name“, „Erzstrasse“, „ErzPLZ“ <strong>und</strong> „Ort“ ein,<br />

nachdem Sie den Bereich vielleicht vorher vergrößert haben. Formatierungen etwa so wie<br />

in der Vorlage.<br />

Das Ganze sieht dann etwa so aus:<br />

(Wenn Sie statt der Feldnamen die Daten aus dem ersten Datensatz sehen, so liegt das<br />

daran, dass Sie unter „Ansicht“ „Zeige Daten“ eingestellt haben. Das können Sie durch<br />

Anklicken ändern.)<br />

Am linken <strong>und</strong> rechten Rand fügen Sie jeweils noch eine (dynamische) vertikale Linie ein.<br />

Im Prinzip so wie oben beschrieben für die horizontale Linie, nur wählen Sie jetzt einmal<br />

<strong>und</strong> einmal aus. Beide<br />

werden per rechter Maustaste auf „Höhe der Stammkomponente“ gesetzt.<br />

Jetzt wechseln Sie wieder in den Hauptbericht <strong>und</strong> erstellen dort analog zu dem<br />

„SubReport Erzieher“ einen zweiten SubReport zu der Datenquelle „Schülertelefone“, den<br />

Sie in dem letzten Drittel der Seitenbreite hinter dem ersten Unterbericht platzieren. In<br />

diesen SubReport tragen Sie die DBTextfelder „Telefonart“ <strong>und</strong> „TelefonNummer“ ein.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 10 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Die richtige Positionierung finden Sie am besten durch Ansehen in der Vorschau <strong>und</strong><br />

Experimentieren beim Verschieben. In der Vorschau können Sie sich auch von dem Erfolg<br />

Ihrer bisherigen Arbeit überzeugen. Der Detailbereich ist jetzt fertig. Spätestens jetzt ist es<br />

wohl Zeit, eine Zwischensicherung des Berichtes zu erstellen. (Datei -> „Speichern unter“).<br />

Damit dieser Bericht später nicht nur für die ausgewählte Schülergruppe ausgegeben wird,<br />

sondern etwa für alle Klassen, ist es sinnvoll, jetzt eine Gruppierung vorzunehmen. Hierzu<br />

wählen Sie vom Hauptbericht aus unter „Bericht“ „Gruppen“ aus <strong>und</strong> in dem Fenster<br />

geben Sie die Funktionalitäten vor, wie es hier in der Abbildung zu sehen ist. (Bestätigen<br />

Sie mit „OK“)<br />

Jetzt gibt es im Berichtsentwurf unter dem Kopfband ein (geschlossenes) Band<br />

„Gruppenkopf[0]“ <strong>und</strong> unten ebenso „Gruppenfuß[0]“.<br />

In den Bereich des Gruppenkopfes tragen Sie jetzt einen Teil der über der Tabelle<br />

stehenden Informationen bzw. die DBTextelemente <strong>und</strong> andere ein. Einige Elemente<br />

müssen auch programmiert werden, weil sie so nicht in der DB enthalten sind.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 11 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Fangen Sie an mit den Spaltenüberschriften „Name / Anschrift“, „Erzieheranschrift“ <strong>und</strong><br />

„Telefon-Nummern“. Diese Elemente sind reine TextElemente oder „Label“. Um sie<br />

einzufügen, verwendet man das Werkzeug <strong>und</strong> überschreibt in dem jeweils links oben<br />

stehenden Feld den Begriff „Labelx“ (x steht für eine Nummer) mit dem Klartext. Die<br />

richtige seitliche Anordnung findet man am schnellsten, indem man immer zwischen<br />

Entwurf <strong>und</strong> Vorschau hin- <strong>und</strong> herschaltet <strong>und</strong> verschiebt (pixelweise).<br />

„Klasse:“ ist auch ein Textfeld (Label) <strong>und</strong> der Wert hierfür wird aus der DB gelesen, ist<br />

also ein DBTextFeld. „Klassenlehrer(in):“ ist eigentlich auch ein Textfeld, aber den Wert<br />

hierfür programmiert man besser aus den Einzelteilen, weil man nicht wissen kann, wie<br />

lang die Namen werden, <strong>und</strong> man kann dann auch noch die Entscheidung über die<br />

weibliche oder männliche Form mit in die Programmierung einbauen. Noch komplizierter<br />

ist es mit der Schul(-halb-)jahresbezeichnung, denn die ist so in der DB gar nicht enthalten<br />

<strong>und</strong> muss deshalb auch programmiert werden. Zum Programmieren beginnen wir<br />

gr<strong>und</strong>sätzlich mit einem eingefügten Label:<br />

Um ein Label zu programmieren (hier Label9 <strong>und</strong> Label8), wechselt man von der<br />

Entwurfsdarstellung in den Modus „Berechnungen“. Hier sucht man sich im Berichts-<br />

Elemente-Baum das jeweilige Label aus, klickt darauf <strong>und</strong> im rechten Fenster (Ereignisse)<br />

auf die „Procedure OnGetText“, anschließend unten in den Editorbereich. Das gelingt<br />

allerdings nur, wenn man unter „Ansicht“ „Ereignisse“ eingeschaltet hat. In diesen unteren<br />

Bereich schreiben Sie das hinein, was in der Abbildung angegeben ist – jedes Zeichen ist<br />

WICHTIG ! Wählen Sie dann mit der rechten Maustaste „Kompiliere dieses Script“ – bei „0<br />

Fehlern“ können Sie getrost in die Vorschau wechseln, andernfalls betreiben Sie<br />

Fehlersuche <strong>und</strong> –korrektur.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 12 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Dann sieht das Ganze etwa so aus wie hier abgebildet (für Label9):<br />

Die eigentliche Procedure (deren Text man in der Abb. wahrscheinlich nicht gut lesen<br />

kann) lautet:<br />

procedure Label9OnGetText(var Text: String);<br />

begin<br />

if SchuelerKlasse[‘Anrede’] = ‘Herr’ then Text := ‘Klassenlehrer: ‘ else Text :=<br />

‘Klassenlehrerin: ‘;<br />

Text := Text + SchuelerKlasse[‘LAnrede’] + SchuelerKlasse[‘Lname’] + ‘ / ‘ +<br />

SchuelerKlasse[‘KlassenLehrerKrz‘] + ‘: ‘;<br />

end;<br />

Analog wird Label8 programmiert für das Schul(-halb-)jahr:<br />

procedure Label8OnGetText(var Text: String);<br />

var a, b: Integer; c: String;<br />

begin<br />

a:= Schueler['AktSchuljahr'];<br />

b:= (a + 1) mod 100;<br />

c:= IntToStr (b);<br />

if length (c)= 1<br />

then c:= '0' + c;<br />

Text := 'Schuljahr ' + IntToStr (a) + '/' + c;<br />

Text:= Text + ', ' + IntToStr (Schueler['AktAbschnitt']) + '. Halbjahr';<br />

end;<br />

Neue <strong>Reportanleitung</strong>.doc Seite 13 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Keine Angst: Nicht Sie müssen den Programmcode verstehen, sondern der Computer!<br />

Jetzt fehlt nur noch die Angabe über die Zahl der Schüler/-innen. Dies gelingt, indem man<br />

z.B. das Element DBCalc, das weiter oben erklärt wurde <strong>und</strong> das die lfd. Nummer<br />

bestimmt, kopiert <strong>und</strong> oben wieder einfügt. Über das „rechte Maustasten-Menü“ gibt man<br />

diesem Element noch die Eigenschaft „vorausschauend“. Vor das Element sollte man<br />

noch den Text „Anzahl der Schüler/-innen:“ mittels Label (Textfeld) einfügen.<br />

Jetzt ist der Gruppenkopf fertig. Hier im Entwurf:<br />

Und hier in der Vorschau:<br />

Das Band kann nun so weit zusammengeschoben werden, dass oben das Kopfband <strong>und</strong><br />

unten das Detailband lückenlos an die Elemente anschließen. Eine „Linie unten“ über die<br />

Breite der Stammkomponente kann das Ganze noch abr<strong>und</strong>en.<br />

Jetzt fehlt noch der eigentliche Briefkopf. Hier können Sie den in Abschnitt 1<br />

beschriebenen Kopf einbinden (so, wie dort beschrieben). Wenn man aber bedenkt, dass<br />

es sich bei einer solchen Klassenliste um eine Liste ohne Außenwirkung handelt, kann<br />

man z.B. auf das Logo ganz <strong>und</strong> auf aufwändige Texte auch verzichten. Deshalb reicht es<br />

wohl aus, dass man einfach den Kopf als Textfeld einträgt (der bleibt ja auch stabil <strong>und</strong><br />

ändert sich nicht).<br />

Es fehlt noch der Fuß: Dafür wechselt man in das Fußband (nicht Gruppenfuß) <strong>und</strong> trägt<br />

die entsprechenden Elemente als Systemvariable ein (vgl. etwa Word). Es wird zuerst<br />

das Datum vorgegeben, aber der Wert lässt sich auswechseln über das Listenelement an<br />

dem Fenster oben, wo „Datum“ drinsteht. Das vorangestellte Wort „Druckdatum“ ist wieder<br />

ein Textfeld <strong>und</strong>, wenn´s gefällt, können Sie das Ganze noch durch eine Linie nach oben<br />

abr<strong>und</strong>en.<br />

Der Entwurf ist fertig <strong>und</strong><br />

Neue <strong>Reportanleitung</strong>.doc Seite 14 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

kann in der Vorschau bew<strong>und</strong>ert werden!<br />

Neue <strong>Reportanleitung</strong>.doc Seite 15 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

3. Erstellung einer Kursliste<br />

Eine einfache Kursliste mit etwa diesem Layout soll erstellt werden:<br />

Der Unterschied zu einer „normalen“ Klassenliste besteht eigentlich nur in 2 Bereichen:<br />

- Es ist nicht die Datenquelle „Schueler“ die Hauptdatenquelle, sondern die<br />

Datenquelle „Kurse“ muss ausgesucht werden<br />

- Druckt man eine Klassenliste, so richtet sich deren Inhalt immer nach der im<br />

Container ausgewählten Schülermenge. Will man eine Kursliste drucken, so kann<br />

man dies in der Regel nicht mit der Schülergruppe im Container tun. Deshalb wird<br />

(automatisch) beim Druck eines auf der Basis der Datenquelle „Kurse“ erstellten<br />

Berichtes ein Abfragefenster zur Auswahl des Kurses oder der Kurse geöffnet.<br />

Damit man mit dem Aufruf einer einzigen Berichtsvorlage dann wirklich für mehrere<br />

Kurse einen Ausdruck erstellen kann, ist es notwendig, bei der Berichtserstellung<br />

eine Gruppierung für das Merkmal „Kurse.Kurse_ID“ einzurichten.<br />

Beginnen Sie wieder mit dem Aufruf des „Report-Explorers (neu)“ unter „Druckausgabe“ in<br />

SchILD-<strong>NRW</strong>. Anschließend klicken Sie auf zur Erstellung eines <strong>neue</strong>n Berichtes.<br />

Wenn sich der Formulardesigner öffnet, prüfen Sie über „Datei“ –> „Seite einrichten“, ob<br />

das Format auf „Hochformat“ eingestellt ist, <strong>und</strong> wählen dann über „Bericht“ -><br />

„Datenquellen“ wie oben schon beschrieben die Datenquelle „Kurse“ aus.<br />

Jetzt erstellen Sie den Kopf Ihres Berichtes nach der Vorlage:<br />

Neue <strong>Reportanleitung</strong>.doc Seite 16 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Dabei sind „Kursliste“, „Fach:“, „Kursart:“, „Kurs“, „Jahrgang:“, „Schuljahr:“ <strong>und</strong> „Kurslehrer“<br />

reine Textfelder (Labels), die mit diesem Werkzeug erzeugt werden, wobei die Texte<br />

dann in das Auswahlfenster eingetragen werden. Für die Werte hinter diesen<br />

Beschreibungen werden dann DBTextElemente benötigt. Wählen Sie hierfür (aus der<br />

voreingestellten Datenquelle „Kurse“) die Datenfelder, die in der Abbildung angegeben<br />

sind. Hinter das Textfeld „Schuljahr:“ setzen Sie ein weiteres Label, die Ausgabe muss<br />

nämlich programmiert werden, weil der Wert so nicht in der Datenbank enthalten ist. In der<br />

Abbildung heißt dieses Label „Label12“ – das kann bei Ihnen durchaus eine andere<br />

Nummer sein. Wenn Sie das Label gesetzt haben, so wählen Sie die Registerkarte<br />

„Berechnungen“ <strong>und</strong> prüfen unter „Ansicht“, ob hier „Ereignisse“ eingestellt ist. Dann<br />

klicken Sie in dem linken oberen Fensterteil (Berichts-Elemente) auf das Label12 (oder<br />

das mit der Nummer, die bei Ihnen angezeigt wurde). In dem rechten Fenster (Ereignisse<br />

für Label12) klicken Sie auf den Procedure-Namen „OnGetText“ <strong>und</strong> anschließend in den<br />

unteren Bereich, wo jetzt als Überschrift „procedure Label12OnGetText(var Text: String);“<br />

erscheint. Wahrscheinlich steht in diesem Bereich nur „begin end;“ – Überschreiben<br />

Sie diese Begriffe mit dem Text, der hier angegeben ist:<br />

procedure Label12OnGetText(var Text: String);<br />

var a, b : Integer; c: string;<br />

begin<br />

a := Schueler[‘AktSchuljahr’];<br />

b := (a + 1) mod 100;<br />

c := IntToStr(b);<br />

if length(c) = 1 then c := ‘0’ + c; {Kommentar: Das ist eine Null, kein O !}<br />

Text := IntToStr(a) + ’/’ + c + ’ ’ + Kurse[’Abschnitt ’] + ’. Hj’;<br />

end;<br />

Anschließend klicken Sie einmal mit der rechten Maustaste in dieses Feld <strong>und</strong> wählen<br />

aus: „Kompiliere dieses Script“. Wenn Sie dann unten die Meldung „0 Fehler“ erhalten,<br />

dann ist alles in Ordnung, andernfalls gehen Sie auf Fehlersuche durch Vergleichen –<br />

jedes Zeichen ist wichtig!<br />

Jetzt fehlt für den Kopf nur noch das Raster. Dieses erstellt man mit dem Werkzeug<br />

„TableGrid“ . Anschließend wählen Sie aus dem zugehörigen „rechte-Maustasten-<br />

Menü“ „Properties“ aus <strong>und</strong> geben hier die Anzahl der Zeilen (Rows) „1“ <strong>und</strong> der Spalten<br />

(Columns) „11“ ein. Ziehen Sie sich dieses Grid auf die gewünschte Form, vor allem auch<br />

die Einteilung. Tipp: In das vordere Kästchen soll der Name eingetragen werden können,<br />

also breit ziehen, die anderen Kästchen etwa gleich breit – hierzu verwendet man zur<br />

Orientierung das obere Lineal.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 17 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Wenn Sie das Grid fertig gestaltet haben, so aktivieren Sie es durch einen Mausklick <strong>und</strong><br />

wählen unter „Bearbeiten“ „Kopieren“ aus. Anschließend platzieren Sie ein Label<br />

(Einstellen von Fettdruck, Schriftgröße...) in das vordere Kästchen des Grid <strong>und</strong> tragen<br />

hier „Name, Vorname“ ein.<br />

Jetzt ist der Kopf vollständig fertig.<br />

Die Gruppenbildung fehlt noch:<br />

Hierzu aus dem Menüpunkt „Bericht“ „Gruppen“<br />

auswählen. Wählen Sie zur Gruppenbildung das<br />

oben bereits genannte Feld „Kurse_ID“ aus.<br />

Sie sollten nun eine Zwischenspeicherung des<br />

Berichts machen.<br />

In den Detailbereich legen Sie als Objekt einen<br />

„Unterbericht“ („SubReport“) <strong>und</strong> wählen für<br />

ihn die Datenquelle „KursSchueler“ aus. Das<br />

Detailband kann dann auch auf die Höhe dieses<br />

Elementes beschränkt werden. (Alles andere<br />

schafft unnötige Zwischenräume im Ausdruck.)<br />

Am unteren Rand wählen Sie anschließend den<br />

„SubReport1: KursSchueler“ zur Bearbeitung<br />

aus. Über „Bericht“ schalten Sie „Titel“ <strong>und</strong> „Zusammenfassung“ aus. Wenn Sie jetzt<br />

„Bearbeiten“ <strong>und</strong> „Einfügen“ auswählen (oder Strg+V), wird das vorhin kopierte Grid in den<br />

Detailbereich des Subreports eingefügt.<br />

In das vordere Kästchen legen Sie jetzt ein DBCalc-Element für den Zähler (zur<br />

Einrichtung des Zählers s.o. im Kapitel über die Klassenliste) <strong>und</strong> ein DBText-Element für<br />

das Feld mit der Bezeichnung „NameVorname“ aus der voreingestellten Datenquelle<br />

„KursSchueler“.<br />

Wechseln Sie in die Vorschau (Auswahlfenster für Kursauswahl sollte erscheinen, wenn<br />

Kurse definiert worden sind) <strong>und</strong> überzeugen Sie sich vom Ergebnis Ihrer Arbeit. Ggf.<br />

führen Sie noch die eine oder andere „Schönheitsreparatur“ aus <strong>und</strong> vergessen Sie nicht,<br />

Ihre Arbeit zu sichern.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 18 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

4. Beispiel einer Liste in tabellarischer Form mit variablen Überschriften<br />

Es soll eine Liste erstellt werden, die klassenweise die Schüler einer Klasse enthält <strong>und</strong><br />

dann außer einigen allgemeinen Informationen noch 2 leere, aber beliebig überschriebene<br />

Spalten enthält. Das sieht dann etwa wie folgt aus:<br />

Und hier folgt die Anleitung:<br />

Starten Sie den Report-Explorer (neu). Wählen Sie anschließend mit „Neuer Bericht“.<br />

Im Detailbereich des <strong>neue</strong>n Berichtes legen Sie mit ein „TableGrid“ an <strong>und</strong> klicken mit<br />

der rechten Maustaste in dieses Feld. Wählen Sie „Properties“ an <strong>und</strong> dann 1 Zeile (Rows)<br />

<strong>und</strong> 3 Spalten (Column). Ziehen Sie anschließend die erste (von links gezählt) innere<br />

Teilungslinie mit Hilfe des oberen Lineals etwa auf die Position 65, dann die zweite Linie<br />

auf etwa 130 <strong>und</strong> die Linie rechts auf 195 mm – so sind die Kästchen (etwa) gleich breit.<br />

Jetzt wählen Sie als Werkzeug ein DBText-Feld aus <strong>und</strong> platzieren dieses in das linke<br />

Kästchen des TableGrid. In dem Fenster für die Datenquellen sollte jetzt „Schueler“<br />

angezeigt werden (wenn nicht, bitte über „Bericht -> Datenquellen die Datenquelle<br />

„Schueler“ auswählen. Dies kann schon mal sein, wenn Sie vorher einen Bericht mit einer<br />

anderen globalen Datenquelle erstellt haben, der Formulardesigner ist hier „nachtragend“).<br />

Wählen Sie dann aus dem Fensterchen für die Datenfelder das Feld „NameVorname“ aus.<br />

Schieben Sie anschließend den grauen Balken mit dem Wort Detailbereich bis an die<br />

untere Linie des Grid heran.<br />

Ihr Entwurf sollte jetzt etwa folgendes Aussehen haben:<br />

Wenn nicht der Feldbezeichner NameVorname gezeigt wird, so liegt das daran, dass unter<br />

Ansicht „Zeige Daten“ eingestellt ist (Häkchen).<br />

Neue <strong>Reportanleitung</strong>.doc Seite 19 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

In der Vorschau ergibt sich etwa das folgende Bild:<br />

Ziehen Sie nun den grauen Balken „Kopf“ ein wenig nach unten, damit Sie genügend Platz<br />

erhalten für Einträge im Kopf-Bereich.<br />

Aktivieren Sie dann das Grid-Element durch Klick <strong>und</strong> wählen Sie: „Bearbeiten“ -><br />

„Kopieren“ <strong>und</strong> noch einmal „Bearbeiten“ -> „Einfügen“. Das <strong>neue</strong> (identische)<br />

GridElement verschieben Sie in den Kopf, direkt oberhalb des grauen Balkens. Wählen<br />

Sie als Werkzeug anschließend ein Textfeld (Label) aus <strong>und</strong> platzieren dies etwa in die<br />

Mitte des ersten Feldes des Gitters im Kopfbereich. Überschreiben Sie den Eintrag<br />

„Label1“ mit „Name, Vorname“ <strong>und</strong> aktivieren Sie Formatierungen Bold <strong>und</strong> zentriert.<br />

Legen Sie in die beiden anderen Zellen des Kopf-Gitters jeweils ein weiteres Label. Diese<br />

werden später durch Programmierung mit Inhalt gefüllt.<br />

Jetzt gestalten wir den Kopf weiter:<br />

Zuerst soll links oben der Klassenbezeichner erscheinen. Dieser besteht aus Klartext<br />

(Klasse:) <strong>und</strong> DBText (Klassenbezeichner). Also wählen Sie das Werkzeug „Text“ <strong>und</strong><br />

platzieren es oben links (die Formatierung dürfte noch auf Bold <strong>und</strong> zentriert stehen,<br />

wählen Sie jetzt linksbündig aus). Überschreiben Sie den Eintrag „Label4“ mit „Klasse:“.<br />

Anschließend platzieren Sie ein DBText-Element an passender Stelle dahinter <strong>und</strong> wählen<br />

aus der Datenquelle „Schueler“ das Feld „Klasse“ aus. (Hinweis: Die Nummerierung der<br />

Labels kann bei Ihnen eine andere sein, doch die darauf bezogene Vorgehensweise ist<br />

gleich.)<br />

In der Mitte soll „Klassenlehrer/-in:“ <strong>und</strong> Frau oder Herr <strong>und</strong> der Name stehen. Also<br />

benötigen wir wieder ein Text-Element (Label) <strong>und</strong> 2 DBText-Elemente. Tragen Sie in das<br />

Label „Klassenlehrer/-in:“ ein (man könnte hier auch in Abhängigkeit von der Anrede<br />

„Klassenlehrer“ bzw. „Klassenlehrerin“ ausgeben lassen, aber dazu müssten wir dieses<br />

Label programmieren). Für die beiden DBText-Elemente wählen Sie die DQ<br />

„SchuelerKlasse“ <strong>und</strong> hieraus die Felder: „LAnrede“ <strong>und</strong> „LName“. Ziehen Sie das Feld für<br />

die Anrede so breit, dass 4 Buchstaben hineinpassen („Frau“ <strong>und</strong> „Herr“ sind gleich lang)<br />

<strong>und</strong> auf das Feld für den Namen klicken Sie mit der rechten Maustaste <strong>und</strong> wählen<br />

„automatische Größenanpassung“.<br />

Jetzt fehlt rechts noch das Schul-(Halb-)Jahr. Dies ist so nicht in der DB enthalten <strong>und</strong><br />

muss programmiert werden. Hierfür wählen wir ein Label, genauso wie für die Überschrift<br />

<strong>und</strong> die Spaltenüberschriften, deren Inhalt vom Benutzer erfragt werden soll (Das Label für<br />

die Überschrift sollte die ganze Seitenbreite ausfüllen <strong>und</strong> wieder auf zentriert formatiert<br />

werden, ggf. auch in einer größeren Schrift). – Wenn Sie anschließend alle Elemente einer<br />

Neue <strong>Reportanleitung</strong>.doc Seite 20 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Zeile auf die gleiche Höhe <strong>und</strong> ggf. noch einzeln seitlich ausrichten, dann sollte Ihr Entwurf<br />

jetzt so aussehen:<br />

Die Einträge für die Label5, 6 <strong>und</strong> 9 (in dieser Darstellung) sollen vor dem Druck erfragt<br />

werden. Dazu müssen die Labels programmiert werden.<br />

Dies geschieht folgendermaßen:<br />

Wählen Sie die Registerkarte „Berechnungen“ an <strong>und</strong> überzeugen Sie sich, dass unter<br />

„Ansicht“ die Option „Ereignisse“ ausgewählt ist. Sie sehen jetzt ein mehrfach geteiltes<br />

Fenster. In dem linken Bereich können Sie die Struktur <strong>und</strong> die einzelnen Elemente Ihres<br />

Berichtes wiederfinden. Das rechte obere Fenster listet zu dem links ausgewählten<br />

Element (wahrscheinlich Report, erkennbar, wenn grau unterlegt) eine Reihe von<br />

Prozeduren auf. Wählen Sie einmal links ein anderes Element, dann sehen Sie rechts<br />

andere Prozeduren. Klicken Sie dann wieder auf Report <strong>und</strong> rechts auf die<br />

Prozedur , anschließend noch ein Klick in das linke (noch leere) untere<br />

Fenster, <strong>und</strong> Ihr Bildschirm sieht dann ungefähr so aus:<br />

Neue <strong>Reportanleitung</strong>.doc Seite 21 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Schreiben Sie jetzt zwischen die Zeilen „begin“ <strong>und</strong> „end“ den folgenden Programmcode:<br />

begin<br />

label9.text := StringInput('Überschrift' , '');<br />

label5.text := StringInput('Spaltenüberschrift 1' , '');<br />

label6.text := StringInput('Spaltenüberschrift 2' , '');<br />

end;<br />

Achtung: Wenn Ihre Labels andere Nummern haben, müssen Sie die Programmzeilen<br />

natürlich anpassen. Jedes Zeichen ist wichtig! Die Hochkommata erhält man über Shift+ #.<br />

Wenn einzelne Bestandteile jetzt vom System automatisch grün dargestellt werden, so ist<br />

das ein Hinweis darauf, dass Ihre Eingaben erkannt wurden.<br />

Wechseln Sie jetzt einmal in die Vorschau, dann sehen Sie den Erfolg Ihrer<br />

Programmierung. – Spätestens jetzt sollten Sie Ihren Bericht auch einmal abspeichern<br />

unter einem selbst gewählten Namen.<br />

Jetzt fehlt nur noch das Schul-(Halb-)Jahr. Hierfür hatten wir das Label10 (in dieser<br />

Darstellung) vorbereitet. Zur Programmierung wechseln Sie wieder in den<br />

Berechnungsmodus <strong>und</strong> vollziehen hier das nach, was weiter oben in Kapitel 2 (Seite 10)<br />

beschrieben wurde.<br />

Hier noch einmal der Programmcode, wie Sie ihn eingeben sollten in die Procedure<br />

Label10OnGetText:<br />

var a, b: Integer; c: String;<br />

begin<br />

a:= Schueler['AktSchuljahr'];<br />

b:= (a + 1) mod 100;<br />

c:= IntToStr (b);<br />

if length (c)= 1<br />

then<br />

c:= '0' + c;<br />

Text := 'Schuljahr ' + IntToStr (a) + '/' + c;<br />

Text:= Text + ', ' + IntToStr (Schueler['AktAbschnitt']) + '.<br />

Halbjahr';<br />

end;<br />

Wenn Sie nun in die Vorschau wechseln <strong>und</strong> Ihre Überschriften eingeben, erhalten Sie die<br />

Liste nach dem oben gezeigten Muster.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 22 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

5. Entwurf einer <strong>neue</strong>n Schulbescheinigung<br />

Ziel ist es, eine Schulbescheinigung etwa nach dem folgenden Muster zu erstellen:<br />

Damit man die Schulbescheinigung später für die ganze vorgewählte Gruppe ausdrucken<br />

kann <strong>und</strong> dabei für jeden Schüler genau eine Seite ausgegeben wird, müssen Sie eine<br />

Gruppe einrichten. (Bericht -> Gruppe). Der Seitenwechsel sollte bei einer Änderung der<br />

Schüler-ID erfolgen.<br />

Für den Kopf wählt man einen „dynamisch ladbaren Subreport“ <strong>und</strong> verfährt so, wie weiter<br />

oben in Kapitel 1 (Seite 6) beschrieben wurde.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 23 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Die Inhalte einiger Felder, die in die Schulbescheinigung eingefügt werden müssen, sind<br />

von unterschiedlicher Länge. Um hier ein gleichbleibendes Layout zu erreichen<br />

(insbesondere auch bei den Satzzeichen am Ende einzelner Zeilen), müssen diese als<br />

Labels programmiert werden. Andere Bestandteile sind reine Textfelder (Labels ohne<br />

Programmeingriffe) oder DBText-Felder.<br />

Dies sieht dann für den Detailbereich etwa so aus:<br />

Zum Eingeben der Programmcodes wechseln Sie wieder in den Bereich „Berechnungen“<br />

<strong>und</strong> dort unter „Bericht“ wieder auf „Ereignisse“.<br />

Im Folgenden werden die einzelnen programmierten Labels bzw. jeweils die procedure<br />

OnGetText aufgelistet. Diese können Sie so übernehmen (abschreiben, wobei jedes<br />

Zeichen wichtig ist). Wenn Sie eine procedure fertig haben, sollten Sie mittels des rechten<br />

Maustaste-Menüs das Script kompilieren (auf Fehler prüfen) <strong>und</strong> nur bei 0 Fehlern in die<br />

Vorschau wechseln, andernfalls den (Schreib-)Fehler aufspüren <strong>und</strong> korrigieren.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 24 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Hier die einzelnen procedures – die Nummern sind aus der obigen Abbildung zuzuordnen<br />

<strong>und</strong> können bei Ihrem Entwurf anders lauten:<br />

Neue <strong>Reportanleitung</strong>.doc Seite 25 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Am Ende wird das Programm wieder kompiliert (rechte Maustaste). Über „Vorschau“<br />

können Sie sich die Schulbescheinigungen für die ausgewählten Schüler ansehen.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 26 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

6. Erzeugung einer Vorlage für einen Serienbrief mit Auswahlelementen<br />

6.1 Serienbrief mit Mehrfachauswahlelementen<br />

Es soll für eine ausgewählte Schülergruppe ein Serienbrief (an die Eltern) verschickt<br />

werden etwa nach folgendem Muster (hier ohne Schulkopf abgebildet):<br />

Neue <strong>Reportanleitung</strong>.doc Seite 27 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Der Kopf des Briefes kann wie üblich als „dynamisch ladbarer SubReport“ eingeb<strong>und</strong>en<br />

werden (vgl. S. 6).<br />

Die Erziehungsberechtigten sollen mit einer üblichen Briefanschrift <strong>und</strong> Anrede<br />

angeschrieben werden. Der Inhalt des Schreibens richtet sich an die<br />

Erziehungsberechtigten <strong>und</strong> enthält auch Daten der Eltern, deshalb muss der gesamte<br />

eigentliche Briefinhalt in einen SubReport zur Datenquelle „Erzieher“ eingetragen werden,<br />

der Detailbereich des Hauptberichtes (Hauptdatenquelle „Schueler“) enthält nur diesen<br />

SubReport.<br />

Wir kümmern uns zuerst einmal um das Adressfeld:<br />

Die Anrede muss in einem Label programmiert werden. Setzen Sie also an eine geeignete<br />

Stelle im SubReport ein Label <strong>und</strong> wechseln Sie dann auf die Registerkarte<br />

Berechnungen. Öffnen Sie den Berichtsbaum für den SubReport (Klick auf den Reiter am<br />

unteren Rand) <strong>und</strong> klicken Sie anschließend auf das entsprechende Label im<br />

Berichtsbaum. Wenn Sie unter Ansicht „Ereignisse“ eingeschaltet haben, finden Sie rechts<br />

die Prozedur „GetOnText“. Klicken Sie diese an <strong>und</strong> anschließend in den unteren<br />

Editorbereich. Hier schreiben Sie:<br />

Darunter fügen Sie das DBTextElement „Vorname<strong>und</strong>Name“ aus der Datenquelle<br />

„Erzieher“ ein, darunter ebenso das DBTextFeld „ErzStrasse“ aus derselben Datenquelle.<br />

Anschließend wird wieder ein Label benötigt, weil die Zusammenfassung aus PLZ <strong>und</strong><br />

Ortsname sinnvollerweise programmiert wird (in Grenzregionen steht bei der PLZ z.B. das<br />

Land dabei <strong>und</strong> das führt zu ungleichen Längen bei den PLZ). [Ausrichten nicht<br />

vergessen!]<br />

Insgesamt sieht das dann etwa so aus (s. n. Seite):<br />

Neue <strong>Reportanleitung</strong>.doc Seite 28 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Die Einträge aus der Datenbank werden deshalb gezeigt, weil unter „Ansicht“ der Wert<br />

„Zeige Daten“ gesetzt ist.<br />

Bevor Sie sich das Ergebnis in der Vorschau ansehen, sollten Sie noch dafür sorgen, dass<br />

nur die Erziehungsberechtigten angeschrieben werden, bei denen auch im Feld<br />

„Anschreiben“ ein „+“ gesetzt wurde. Das erreicht man z.B. dadurch, dass man im<br />

Hauptbericht in der Procedure DetailBeforePrint den nachfolgenden Eintrag macht:<br />

Im Entwurf geht es jetzt weiter: Ort <strong>und</strong> Datumsfeld (weil rechtsbündig <strong>und</strong> weil die<br />

Breiten der Bestandteile differieren können, muss es wieder – teilweise – programmiert<br />

werden). Dann kommt die Betreffzeile (fester Text, also einfaches Label-Textfeld) <strong>und</strong> die<br />

Anrede wird wieder als DBTextfeld eingetragen, denn die wird in der Datenbank<br />

(Datenquelle „Erzieher“) vorbereitet zum Feld „FormaleAnrede“ (Anmerkung: Das Komma<br />

am Ende ist bereits integriert!)<br />

Datum:<br />

Insgesamt ergibt sich folgendes Bild (bisher):<br />

(s. n. Seite)<br />

Neue <strong>Reportanleitung</strong>.doc Seite 29 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Teil 1<br />

Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Natürlich wird der Name des Kindes individuell eingefügt, aber auch der Text „...- hat zu oft<br />

keine Hausaufgaben gemacht.“ etc. soll durch eine Abfrage vor Erstellen des einzelnen<br />

Briefes austauschbar sein. (Statt des Vornamens kann hier auch „Sie“ oder „Er“ aus dem<br />

Schülergeschlecht ermittelt werden.)<br />

Die Abbildungen zeigen jeweils Ausschnitte aus dem fertigen Detailbereich, die<br />

Erläuterungen stehen darunter.<br />

Teil2: (s. n. Seite)<br />

Neue <strong>Reportanleitung</strong>.doc Seite 30 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Da im Text „Ihr Sohn ...“ bzw. „Ihre Tochter ...“ stehen soll, muss dies wieder über ein<br />

Label, welches man leider nicht in ein RichTextElement einbinden kann, programmiert<br />

werden (Label5). Ansonsten wäre ein RichTextElement (wie weiter unten in der Abb.)<br />

günstig, weil dieses den Text formatiert übergibt <strong>und</strong> die Namen ja unterschiedliche<br />

Längen haben.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 31 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Da nicht feststeht, wie lang z.B. „Ihre Tochter ...“ <strong>und</strong> der Vorname wird, kann der<br />

Folgetext nur als TextFeld in die nächste Zeile geschrieben werden. Es folgen ein weiteres<br />

Textfeld „gegen die Schulordnung...“ <strong>und</strong> ein DBTextFeld für den Vornamen.<br />

Das Memofeld (Memo3) wird inhaltlich besetzt über die Werte aus der Abfrage, die in<br />

der procedure ReportBeforePrint (im SubReport) festgelegt werden:<br />

Unter dem Memofeld ist ein RichTextElement eingetragen worden, das dann auf diese<br />

Größe gezogen wurde. Ein RichTextElement erlaubt die Einbindung von formatiertem Text<br />

genauso wie den Zugriff auf Datenbankfelder, wenn die Option „Serienbriefe“<br />

eingeschaltet ist.<br />

Um dieses Element zu bearbeiten, klicken Sie mit der rechten Maustaste darauf <strong>und</strong><br />

wählen aus dem Menü zuerst „Serienbrief“ <strong>und</strong> dann beim zweiten Mal „Bearbeiten“. Der<br />

Text wird normal in das sich öffnende Editorfenster geschrieben <strong>und</strong> das Datenfeld (hier:<br />

Schueler.Vorname) wird seitlich in den Fenstern ausgewählt: Oben zuerst die Datenquelle<br />

„Schueler“ <strong>und</strong> im mittleren Fensterchen „Vorname“. Durch Klick auf den Schalter „Add<br />

Field“ unten wird die kryptische Bezeichnung in das Editorfenster übernommen.<br />

Entsprechend fügen Sie den Namen des Klassenlehrers aus der Datenquelle<br />

„SchuelerKlasse“ ein. Das sollte dann so aussehen wie oben in der Abbildung.<br />

Leider lassen sich in das RichTextFeld keine „if...then-Abfragen“ einbauen, sonst könnte<br />

man im Text noch statt „die Pflichten“ auch „seine Pflichten“ bzw. „ihre Pflichten“ <strong>und</strong><br />

genauso „Klassenlehrer“ bzw. „Klassenlehrerin“ erzeugen.<br />

Für den Klassenlehrer bzw. die Klassenlehrerin lässt sich das erreichen, indem man das<br />

Namensfeld <strong>und</strong> auch diesen Text nicht mehr in das RichTextFeld einbaut, sondern<br />

darunter. Dann kann man wieder eine Abfrage programmieren. Eigentlich sollten Sie das<br />

jetzt schon alleine können, doch zur Kontrolle hier die beiden procedures: (Wichtig: Die<br />

Infos über Klassenlehrer stehen in der Tabelle „SchuelerKlasse“),<br />

Neue <strong>Reportanleitung</strong>.doc Seite 32 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Das war´s – wie die Vorschau hoffentlich bestätigt. (Speichern nicht vergessen!)<br />

Neue <strong>Reportanleitung</strong>.doc Seite 33 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

6.2 Serienbrief mit alternativen Auswahlelementen<br />

Dieses Mal soll für eine ausgewählte Schülergruppe ein Serienbrief (an die Eltern)<br />

verschickt werden etwa nach folgendem Muster:<br />

Es handelt sich im Erscheinungsbild um einen Serienbrief, der nur in dem Bereich „... hat<br />

oft kein Arbeitsmaterial dabei.“ von dem in Kapitel 6.1 beschriebenen Brief abweicht.<br />

Um diese Abweichung (wobei in der Ausführung dann der Text „hat oft kein<br />

Arbeitsmaterial dabei“ als eine von mehreren möglichen Alternativen abgefragt werden<br />

soll) zu erzeugen, benötigen wir kein MemoFeld, sondern nur ein einfaches<br />

(programmiertes) Label.<br />

Im Entwurfsmodus (s. untere Abbildung) bezieht sich das auf das Label8<br />

Neue <strong>Reportanleitung</strong>.doc Seite 34 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

In Label 8 soll eine Auswahl der Ordnungswidrigkeiten programmiert werden. In unserem<br />

Beispiel soll ausgewählt werden können aus dem folgenden Fenster:<br />

Neue <strong>Reportanleitung</strong>.doc Seite 35 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Das erreichen wir über die Programmzeilen zu Label8:<br />

In { } Klammern steht dabei die Programmierung einer möglichen Alternative: Statt<br />

Ausdruck des Namens (Variable Text1 in der nachfolgenden Zeile) wird „Er“ oder „Sie“<br />

ausgegeben. Entscheiden Sie selbst!<br />

Der Inhalt für die Funktion SelectString (d.h. alles, was in der (...)-Klammer steht) muss in<br />

einer Zeile stehen!<br />

Zur besseren Lesbarkeit wird diese Programmzeile hier noch einmal aufgeschrieben:<br />

Text2 :=<br />

Selectstring('Wählen Sie eine Alternative aus:', 'hat oft kein Arbeitsmaterial dabei.,hat oft die Hausaufgaben<br />

nicht gemacht.,kommt sehr oft zu spät zum Untericht.,hat gegen die Hausordnung verstoßen. ');<br />

Allgemeiner Hinweis:<br />

Bei solchen Programmierungen können in { } für den Programmcode unwesentliche<br />

Kommentare geschrieben werden.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 36 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

7. Serienbriefe mit eingeb<strong>und</strong>enen rtf-Vorlagen (nach Dr. Olaf Goeke)<br />

Wenn die Reports so, wie es in der Einleitung beschrieben wurde, eingeb<strong>und</strong>en wurden,<br />

dann befindet sich unter dem Ordner Standard (im Verzeichnis ...\SchILD-<strong>NRW</strong>\SchILD-<br />

Reports\Standard) der Ordner Serienbriefe. In diesem Verzeichnis liegen 6 rtm-Dateien:<br />

Jede dieser Dateien ist gedacht, als Startdatei zu fungieren, wenn man einen Serienbrief<br />

an eine entsprechende Zielgruppe (Betriebe, Eltern, ..., Schüler) erstellen bzw.<br />

verschicken will. Außer einigen je nach Anspruch erforderlichen (kleineren) Änderungen<br />

<strong>und</strong> Ergänzungen, die weiter unten erläutert werden sollen, haben diese Dateien dabei<br />

eigentlich nur den Zweck, den Kopf des Serienbriefes zu erzeugen <strong>und</strong> dann ein rtf-<br />

Dokument einzubinden, das den Rest (inklusive Serienbrieffelder) enthält. Ein rtf-<br />

Dokument ist ein „RichText-formatiertes“ Dokument, das z.B. mit Word erstellt <strong>und</strong><br />

bearbeitet werden kann <strong>und</strong> dadurch relativ leicht handhabbar ist. Nachteil: Es können<br />

keine Grafiken aus dem rtf-Dokument in den rtm-Report importiert werden.<br />

Die 7. Datei in diesem Verzeichnis (rtf-Elternbrief V1.4+++.rtm) ist eine überarbeitete<br />

Version von „rtf-Elternbrief V1.4.rtm“. – Mit dieser wird in Folge gearbeitet <strong>und</strong> sie kann zur<br />

Verfügung gestellt werden, wenn die Ursprungsdatei nicht funktionsfähig importiert wird.<br />

Zu jedem dieser rtm-Reports hat Herr Dr. Goeke eine passende (zielgruppengerichtete)<br />

rtf-Vorlage erstellt, die man – soweit nach der Installation noch nicht vorhanden – aus dem<br />

Internet (übliche Schulverwaltungsseite unter „Formulare“) zusammen mit einer kurzen<br />

Anleitung (bezogen auf das alte Reportsystem) laden kann. Diese <strong>und</strong> die darauf<br />

basierenden selbst erstellten Vorlagen sollte man in ein zu erstellendes Verzeichnis<br />

(unterhalb von SchILD-<strong>NRW</strong>) – z.B. „Serienbrief_rtf_Vorlagen“ – ablegen.<br />

Neue <strong>Reportanleitung</strong>.doc Seite 37 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Im Folgenden soll an einem einfachen Beispiel (Elternbrief wg. „Nicht gemachter<br />

Hausaufgaben“) erläutert werden, wie man die rtf-Vorlage für einen solchen Elternbrief<br />

(ausgehend von der Vorlage von Herrn Dr. Goeke) bearbeitet <strong>und</strong> die passende rtm-Datei<br />

ebenfalls geringfügig anpasst, wobei durchaus auch hier wieder in die programmierte<br />

Struktur eingegriffen werden soll.<br />

1. Bearbeitung der rtf-Vorlage:<br />

(In der Folge wird davon<br />

ausgegangen, dass Word die auf<br />

Ihrem Rechner installierte<br />

Standard-Textverarbeitung ist.<br />

Wenn das nicht der Fall ist,<br />

müssen Sie ggfls. ein wenig<br />

umdenken <strong>und</strong> anpassen.)<br />

Klicken Sie einfach in dem Ordner,<br />

in dem sich Ihre Vorlagen befinden,<br />

auf das Dokument „Blankovorlage<br />

für Elternbrief.rtf“ doppelt. Es öffnet<br />

sich dann ein Abfragefensterchen,<br />

ob die Datei aus dem Rich-Text-<br />

Format konvertiert werden soll.<br />

Bestätigen Sie dies, dann öffnet<br />

sich Word mit der Blankovorlage<br />

von Herrn Goeke:<br />

Diese Vorlage – in der<br />

feststehende Textteile <strong>und</strong><br />

Serienbrieffelder <strong>und</strong> Variable<br />

(beides in { .}-Klammern)<br />

enthalten sind – wird jetzt zum<br />

„Hausaufgabenbrief“ modifiziert.<br />

(Das ist ein Beispiel für einen sog.<br />

„Leider-Brief“.)<br />

Neue <strong>Reportanleitung</strong>.doc Seite 38 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Hierzu in Kurzform die wichtigsten Schritte im Einzelnen:<br />

- Das Feld {DATUM} wird an eine richtigere Position (tiefer, rechtsbündig)<br />

verschoben.<br />

- Der Text „Elternbriefvorlage ...“ wird überschrieben mit „Mitteilung über nicht<br />

gemachte Hausaufgaben“ – das ist die sog. Betreffzeile.<br />

- Bitte nehmen Sie das Komma hinter dem Feld {Erzieher.FormaleAnrede} weg.<br />

- Jetzt überschreiben Sie den Text „hier folgt der Brieftext.“ mit dem folgenden:<br />

leider muss ich Ihnen mitteilen, dass {Schueler.SohnOderTochter}<br />

{Schueler.Vorname} zum wiederholten Male keine Hausaufgaben gemacht hat.<br />

Sorgen Sie bitte dafür, dass {Schueler.Vorname} {seineihre} Pflichten in Zukunft<br />

ernster nimmt.<br />

Wichtig ist dabei, dass Sie alles so über die Tastatur eingeben, also auch die<br />

geschweiften Klammern.<br />

Sie erkennen dabei vielleicht die Unterschiede:<br />

- {Schueler.Vorname} ist in gewisser Weise ein Serienbrieffeld, das aus der<br />

Datenquelle Schueler (von SchILD) das Feld Vorname ausliest.<br />

- {Schueler.SohnOderTochter} ist eine Art Mischung aus Serienbrieffeld <strong>und</strong><br />

Bedingungsfeld: Es wird aufgr<strong>und</strong> des Geschlechtes die Ausgabe „Ihr Sohn“ oder<br />

„Ihre Tochter“ erzeugt.<br />

- {seineihre} ist eine Variable, bei der in Abhängigkeit vom Geschlecht „seine“ oder<br />

„ihre“ erzeugt <strong>und</strong> ausgegeben werden soll. (So, wie es im unteren Teil der Goeke-<br />

Vorlage symbolisch durch einige solcher Variablen dargestellt wird.) Dabei sind die<br />

Bedeutungen dieser Variablen im zugr<strong>und</strong>eliegenden rtm-Report, der ja den Zugriff<br />

auf die SchILD-Datenbank steuert, programmiert.<br />

Löschen Sie jetzt die restlichen Variablen aus der Vorlage <strong>und</strong> speichern Sie Ihre<br />

abgeänderte Vorlage unter einem anderen Namen, etwa „Hausaufgabenbrief“, im<br />

entsprechenden Ordner (etwa „Serienbrief_rtf-Vorlagen“) ab, achten Sie aber darauf, dass<br />

Word diese Datei nicht als *.doc, sondern als Hausaufgabenbrief.rtf abspeichert.<br />

Schließen Sie die Vorlage (Word kann offen bleiben).<br />

Jetzt soll ein „Probelauf“ stattfinden:<br />

Starten Sie hierfür SchILD. Suchen Sie sich einige wenige SuS heraus, wobei es für den<br />

Test ganz hilfreich wäre, wenn es dabei Jungen <strong>und</strong> Mädchen <strong>und</strong> solche mit Eltern <strong>und</strong><br />

getrennt lebenden Erziehungsberechtigten gibt.<br />

Wählen Sie in SchILD „Druckausgabe“, dann „Report aus Ordner „Standard“ drucken<br />

(<strong>neue</strong> Version)“. Öffnen Sie in dem Explorerfenster den Ordner Standard <strong>und</strong> den<br />

Unterordner „Serienbriefe“. Klicken Sie dann doppelt auf „rtf-Elternbrief V1.4+++.rtm“.<br />

[Wenn dieser nicht vorhanden ist, versuchen Sie es mit dem Bericht „rtf-Elternbrief<br />

Neue <strong>Reportanleitung</strong>.doc Seite 39 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

V1.4.rtm“, doch wenn dann kein positives Ergebnis folgt, sollten Sie von Herrn Schrewe<br />

eine Nachbesserung des importierten Berichtes erbitten – s.a. Anmerkungen oben.] In<br />

dem Auswahlfenster wählen Sie „Vorschau“ <strong>und</strong> „ganze Gruppe“.<br />

Den Hinweis „Bitte schließen Sie die Serienbriefvorlage“ bestätigen Sie <strong>und</strong> wählen<br />

anschließend aus dem richtigen Verzeichnis Ihre soeben erstellte Vorlage<br />

„Hausaufgabenbrief“ aus.<br />

Jetzt sollten die Serienbriefe für die ausgewählten SuS bzw. deren<br />

Erziehungsberechtigten in der Vorschau zu sehen sein:<br />

2. Anpassung / Bearbeitung des rtm-Reports<br />

Neue <strong>Reportanleitung</strong>.doc Seite 40 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Öffnen Sie die rtm-Datei „rtf-Elternbrief V1.4+++.rtm“ (o.ä.) zur Bearbeitung.<br />

Sie erkennen, dass der Haupbericht nur aus dem Detailbereich mit einem Subreport<br />

„Erzieher“ <strong>und</strong> zwei Textfeldern (Labels) <strong>und</strong> dem Berichtsfuß mit einigen<br />

Datenbankfeldern besteht (das zeigt auch der Berichtsbaum):<br />

Wenn Sie hier in dem Label1 noch den Pfad ergänzen zu:<br />

C:\....\SchILD-<strong>NRW</strong>\Serienbrief_rtf_Vorlagen, dann „greift“ der rtf-Import beim nächsten<br />

Mal sofort in das richtige Unterverzeichnis <strong>und</strong> Sie ersparen sich das Blättern.<br />

Wenden wir uns nun dem Subreport1 zu: Auch dieser Subreport enthält eigentlich nur 2<br />

Elemente: ein DBImage-Feld (noch ohne Inhalt) <strong>und</strong> ein RBRichText-Feld (das eigentlich<br />

nur ein RichText-Feld ist <strong>und</strong> nur den alten Namen behalten hat). Dieses Feld „ruft“ die rtf-<br />

Datei auf <strong>und</strong> die Größe des Feldes sollte so etwa der Seitengröße des rtf-Dokuments<br />

entsprechen (evtl. größer ziehen). In das Feld DBImage1 können Sie Ihr Schullogo<br />

einbinden: Rechte Maustaste: Grafikart auswählen (je nach verwendeter Datei), dann links<br />

oben in dem (leeren) Fenster für die Datenquelle „Eigene Schule“ eintragen <strong>und</strong> in dem<br />

Feld daneben „SchulLogo“. Jetzt müsste das Logo sichtbar sein <strong>und</strong> auch (über die<br />

Vorschau) auf die Serienbriefe gebracht werden. Gegebenenfalls muss noch die Größe<br />

angepasst <strong>und</strong> mittels rechter Maustaste auf Dehnen gestellt werden.<br />

3. Ergänzung der zur Verfügung stehenden Variablen<br />

Auch wenn in den rtf-Vorlagen auf unterschiedliche Datenquellen {Erzieher.xxx},<br />

{Schueler.yyy} etc. zugegriffen werden kann, so ist z.B. das Feld für den Klassenlehrer,<br />

mit dem man z.B. auch den Hausaufgabenbrief im Unterschriftsbereich ergänzen könnte,<br />

nicht verfügbar. Hierzu muss man den rtm-Bericht im programmierten Bereich ergänzen.<br />

Das geschieht folgendermaßen:<br />

Öffnen Sie den Bericht zur Bearbeitung. Wählen Sie die Registerkarte „Berechnungen“.<br />

Schalten Sie unter Ansicht auf „verwendete Module“ um, wechseln Sie in der Modulansicht<br />

auf „Programme“ <strong>und</strong> ergänzen Sie unten im Editierbereich die Zeilen:<br />

lErsetzung := Schueler['LName'];<br />

lstring := ReplaceText(lstring, '\{Klassenlehrer\}',lErsetzung);<br />

Damit steht für die rtf-Vorlagen die Variable „Klassenlehrer“ für den Namen der<br />

Klassenlehrerin bzw. des Klassenlehrers zur Verfügung.<br />

In ähnlicher Weise lassen sich andere Variable ergänzen. In vielen Anschreiben benötigt<br />

man (in Abhängigkeit vom Schülergeschlecht) die Begriffe „er“ oder „sie“ bzw. am<br />

Neue <strong>Reportanleitung</strong>.doc Seite 41 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09


Anleitung zur Report-Erstellung mit dem <strong>neue</strong>n Formulardesigner<br />

Satzanfang auch „Er“ <strong>und</strong> „Sie“. Diese sind in dem Vokabularium nicht enthalten <strong>und</strong><br />

sollen ergänzt werden.<br />

Hierzu öffnen Sie wieder das Modul „Programme“, wie oben schon einmal beschrieben<br />

wurde.<br />

Kopieren Sie nun in der Function Platzhaltertausch die beiden hier markierten Zeilen, um<br />

sie anschließend darunter zweimal einzufügen:<br />

Das sieht dann so aus:<br />

Jetzt editieren Sie die eingefügten Kopien nach folgender Vorlage:<br />

Von nun an stehen Ihnen die Variablen „kleinsieer“ <strong>und</strong> „Grosssieer“ mit dem<br />

Ausgabeergebnis „er“ oder „sie“ bzw. „Er“ oder “Sie“ für alle mit dieser rtm-Datei<br />

aufgerufenen rtf-Vorlagen zur Verfügung. –<br />

Weitere Anwendungen werden sich sicher leicht finden lassen.<br />

Viel Erfolg bei den Umsetzungen!<br />

Neue <strong>Reportanleitung</strong>.doc Seite 42 von 42 09.05.2009<br />

© Heinz Glasmacher – 2008/09

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!