Manchmal benötigt man bei der Berichtserstellung besondere Inhalte wie z. B. die Seitenzahl, das aktuelle Datum oder die korrekte Anrede einer Person in Abhängigkeit seines Geschlechtes. Für die Realisierung solcher Ausdrucke stellt FastReport in dem Datenbaumfenster entsprechende Optionen unter dem Tab-Reiter „Variablen“ oder „Funktionen“ zur Verfügung.


Variablen


Aus der Liste der Variablen benötigt man am häufigsten das Datum und die Seitenzahl. Das Datum wird in dem in Deutschland üblichen Format TT.MM.JJJJ ausgegeben.


Bei den Seitenzahlen kann man entweder nur die aktuelle Seitenzahl Page# oder aber die Gesamtseitenzahl TotalPages# anzeigen lassen. Ein Kombination Page# / TotalPages# aus beiden Angaben ist natürlich auch möglich. Der Standard-Bericht „Schülerlisten | Adressen-Kontakt.fr3“ nutzt u. a. diese Variablen.


Funktionen

FastReport stellt eine große Zahl von Funktionen zur Verfügung, die man im Zusammenhang mit einer Schulverwaltungssoftware meistens nicht benötigt. Einige wenige werden aber recht häufig genutzt. Dazu kommen einige danisspezifische Funktionen. 

Die Funktion, die man ziemlich häufig braucht, ist die Abfrage nach dem Geschlecht einer Person um den davon abhängigen Ausdruck (Frau/Herr, Frau/Herrn, Tochter/Sohn usw.) korrekt auszugeben. Der Aufbau dieser Abfrage ist immer gleich und besteht aus dem Befehl IIF und drei weiteren Elementen, die durch Kommas voneinander getrennt sind: [IIF (ABFRAGE, WAHRWERT, FALSCHWERT)]. Die eckigen Klammern am Anfang und Ende der Abfrage sorgen dafür, dass der Text zwischen den Klammern als Variablen und nicht als fixer Text interpretiert wird. Der Befehl IIF kann auch mit Kleinbuchstaben iif geschrieben werden.

Will man bspw. in einer Elternliste in einer Spalte auch das Geschlecht oder die korrekte Anrede ausgeben, so könnte die Abfrage so aussehen: [IIF(<q1."Geschlecht">='w','Frau','Herr')]

Der Ausdruck vor dem ersten Komma ist die Abfrage „Ist der Inhalt des Feldes q1.Geschlecht gleich w“? Der WAHRWERT „Frau“ wird ausgegeben, wenn das Geschlecht weiblich (w) ist. Der FALSCHWERT „Herr“ wird ausgegeben, wenn das Geschlecht nicht weiblich ist.


Iif-Abfragen kommen auch immer wieder bei den Namenszusätzen und/oder Titeln vor. So sorgt die Abfrage [iif(<q1."Namenszusatz"><>'',<q1."Namenszusatz">+' ', '')] dafür, dass bei Existenz eines Namenszusatzes dieser und ein nachfolgendes Leerzeichen <q1."Namenszusatz">+' ' ausgegeben wird. Anderenfalls wird nichts '' ausgegeben.


Eine schöne Funktion ist die Summenbildung, die FastReport beherrscht. Diese wird in vielen Standardberichten genutzt, um die Anzahl der Mädchen und Jungen auszugeben. Der dazugehörende Feldeintrag sieht so aus:
Mädchen: [SUM(IIF(<sq."SchuelerGeschlecht">='w',1,0),)] / 
Jungen: [SUM(IIF(<sq."SchuelerGeschlecht">='m',1,0),)]

DaNiS-spezifische Funktionen

Solche Funktionen sind (leider) bei der Programmierung von DaNiS zusätzlich in die Funktionsliste von FastReport gelangt und erschweren die Berichtserstellung ein wenig. Ein typischer Vertreter für eine danisspezifische Funktion ist die Übersetzung der Kontaktart 0, 1, 2, 3 wie sie in der Datenbank gespeichert sind, in eine für uns lesbare Art. 

Der folgende Ausdruck entstammt dem Standardbericht „Schulelternrat.fr3“ und gibt Folgendes bei der Existenz der Kontaktarten aus:



<qk.“Art“>=0 das Wort „Fon“ und die Telefonnummer, 

<qk."Art">=3 das Wort „Fax“ und die Faxnummer,

<qk."Art">=1 nur die E-Mail-Adresse

<qk."Art">=2 würde zu der Bankverbindung gehören.


[IIF(<qk."Art">=3,'Fax '+ <qk."Adresse">, IIF(<qk."Art">=0,'Fon: ' + <qk."Adresse">, IIF(<qk."Art">=1,<qk."Adresse">,'')))]