17.04 Verwendung von Reportparametern
Um zur Laufzeit Daten an einen Bericht zu übergeben, müssen zunächst über den Crystal Reports Feld-Explorer entsprechende Parameterfelder definiert werden. Diese Parameterfelder können zum Beispiel im Auswahlassistenten zur Sektion von Datensätzen eingesetzt werden. Hier ein Auszug aus dem Beispielbericht "Bestellbestand_LT.rpt":

Achtung
Es dürfen keine Umlaute in Parameternamen benutzt werden!
Das Parameterfeld «?Lieferant von» soll zur Laufzeit durch den Inhalt der Eingabe-Globalvariablen "PV_LIEFERANT_VON" ersetzt werden. Dazu wird beim Aufruf des Crystal Reports Viewers als Reportparameter dem zu ersetzenden Parameterfeld der gewünschte Wert zugewiesen:
{?Lieferant von}=AsString(GV(PV_LIEFERANT_VON))
Das Makro "AsString(...)" erzeugt dabei doppelte Hochkommata, um den Inhalt der Globalvariablen "PV_LIEFERNAT_VON".
Sollen mehrere Platzhalter gleichzeitig ersetzt werden, so müssen die einzelnen Ersetzungsausdrücke per Kommata innerhalb der umschließenden Hochkommata getrennt werden:
"{?Lieferant von}=AsString(GV(PV_LIEFERANT_VON)),
{?Lieferant bis}=AsString(GV(PV_LIEFERANT_BIS)), ..."
Bei der Übergabe von Datumsfeldern ist zu beachten, dass das entsprechende Parameterfeld (im Beispiel "?Liefertermin von") in Crystal Reports mit dem Format "DatumZeit" definiert wird. Der Wert muss deshalb formatgerecht zugewiesen werden. Das gelingt am Einfachsten durch Verwendung des infra-Makros "ScreenFormat", das einen Wert laut angegebenem Ausgabeformat für die Bildschirmausgabe aufbereitet.
{?Liefertermin von }=AsStrinüg(ScreenFormat(GV(PV_DATUM_VON),d))