7a-Überarbetee und redigierte neue Reportanleitung - SVWS-NRW
7a-Überarbetee und redigierte neue Reportanleitung - SVWS-NRW
7a-Überarbetee und redigierte neue Reportanleitung - SVWS-NRW
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