Bereichsdatentypen (Crystal-Syntax)

Bereiche dienen dazu, eine ganze Palette unterschiedlicher Werte zu verarbeiten. Bereichstypen sind für alle einfachen Typen außer für boolesche Werte (Boolean) verfügbar. Dies sind: Zahlenbereiche, Währungsbereiche, Zeichenfolgebereiche, Datumsbereiche, Zeitbereiche und Datumuhrzeit-Bereiche. Bereiche können Sie mit den Schlüsselwörtern To, _To, To_, _To_, UpTo, UpTo_, UpFrom und UpFrom_ erstellen. Im Allgemeinen wird "To" für Bereiche mit zwei Endpunkten und "Upto" und "UpFrom" für Bereiche mit einem offenen Ende (mit nur einem Endpunkt) verwendet. Durch die Unterstriche wird angegeben, ob die Endpunkte innerhalb des Bereichs liegen oder nicht.

Beispiele für Zahlenbereichswerte

Der Bereich der Zahlen 2 bis 5 einschließlich 2 und 5

2 To 5

Der Bereich der Zahlen 2 bis 5 ohne 2, aber einschließlich 5

2 _To 5

Alle Zahlen kleiner als oder gleich 5

UpTo 5

Alle Zahlen kleiner als 5

UpTo_ 5

Beispiele für DateTime-Bereichswerte

#Jan 5, 1999# To #Dec 12, 2000#
UpFrom #Jan 1, 2000#

Verwenden von Bereichen in Formeln

In Crystal Reports gibt es 27 Funktionen zur Angabe von Datumsbereichen. Die Funktion LastFullMonth beispielsweise legt einen Datumswertebereich fest, der alle Datumsangaben vom Ersten bis zum Letzten des Vormonats umfasst. Wenn also das heutige Datum der 15. September 1999 ist, dann entspricht LastFullMonth dem Bereichswert CDate (#Aug 1, 1999#) To CDate (#Aug 31, 1999#).

Bereiche werden häufig in If- und Select-Anweisungen verwendet. Im folgenden Beispiel werden die Noten "A" bis "F" von Schülern anhand ihrer Testergebnisse errechnet. Testergebnisse größer als oder gleich 90 erhalten die Note "Eins", Ergebnisse von 80 bis 90 (90 selbst ausgeschlossen) erhalten die Note "Zwei", und so weiter.

Select {Student.Test Scores}
Case UpFrom 90 :
"A"
Case 80 To_ 90 :
"B"
Case 70 To_ 80 :
"C"
Case 60 To_ 70 :
"D"
Default :
"F";

Im oben genannten Beispiel wird der Select-Ausdruck verwendet, auf den im Abschnitt Programmstrukturen (Crystal-Syntax) ausführlicher eingegangen wird. Mit Hilfe des Operators In können Sie prüfen, ob ein Wert innerhalb eines Bereichs liegt. Beispiel:

5 In 2 To 10; //True
5 In 2 To_ 5; //False
5 In 2 To 5; //True

Die Funktionen Maximum und Minimum können dazu verwendet werden, die Endpunkte eines Wertebereichs zu ermitteln:

Maximum (2 To 10) //Returns 10

Siehe auch