範囲変数は、連続した値を処理するために用意されています。範囲変数は、論理値型を除くすべての単純型で使用できます。つまり、使用できる型は、数値型範囲、通貨型範囲、文字列型範囲、日付型範囲、時刻型範囲、および日時型範囲です。範囲を生成するには、To、_To、To_、_To_、Is >、Is >=、Is <、および Is <= の各キーワードを使用します。大まかに言うと、To は両端のある範囲に使用し、Is は一方の端しかない範囲に使用します。下線は、端点を範囲に入れるかどうかを指示するために使用します。
数値型範囲の値の例
2 以上 5 以下の数値の範囲
2 To 5
2 より大きく 5 以下の数値の範囲
2 _To 5
5 以下の数値
Is <= 5
5 未満の数値
Is < 5
日時型範囲の値の例
#1999/1/5# To #2000/12/12# Is >= #2000/1/1#
Crystal Reports
には、日付範囲を返す関数が 27
あります。たとえば、LastFullMonth 関数は、前月の 1 日から末日までのすべての日付を含む日付値の範囲を返します。つまり、今日が 1999 年 9 月 15 日である場合、LastFullMonth は、範囲値“CDate(#1999/8/1#)To CDate(#1999/8/31#)”と同じです。
範囲変数は、多くの場合、If または Select ステートメントと共に使用されます。次の例では、試験の点数に基づいて学生の成績を求めています。90 点以上には A が与えられ、80 点以上 90 点未満には B が与えられます。
Rem 学生の成績を求めます Select Case {Student.試験の点数} Case Is >= 90 formula = "A" Case 80 To_ 90 formula = "B" Case 70 To_ 80 formula = "C" Case 60 To_ 70 formula = "D" Case Else formula = "F" End Select
上の例では、Select ステートメントを使用しています。Select ステートメントについては、「制御構造」で詳しく説明しています。ある値が範囲内にあるかどうかは、演算子 In を使って検査できます。例 :
formula = 10 In 2 To 5 '真 formula = 5 In 2 To_ 5 '偽 formula = 5 In 2 To 5 '真
Maximum および Minimum 関数は、範囲の端点を判定するために使用します。
formula = Maximum (2 To 10) '10 を返します