Crystal Reports Designer  

日付範囲(Basic 構文および Crystal 構文)

注意点を 1 つ追加すると、これらの関数が生成する日付範囲は、現在の日付に依存します。たとえば、今日の日付が 2000 年 9 月 18 日である場合、LastFullMonth は次の日付型範囲値になります。

CDate(#2000/8/1#) To CDate(#2000/8/31#)

通常、この機能は便利ですが、場合によっては、{Orders.受注日}などのデータベース フィールドを基準にして日付範囲を決定する必要も生まれます。その場合は、代わりに日付/時刻関数を使用します。

Basic 構文の記述例

Dim d As Date
d = CDate ({Orders.受注日})
Dim dr As Date Range
dr = DateSerial (Year(d), Month(d) - 1, 1) To _
DateSerial (Year(d), Month(d), 1 - 1)
'この時点で dr は、{Orders.受注日} の前月の
'すべての日付を保持する日付型範囲値になります

Crystal 構文の記述例

Local DateVar d := CDate ({Orders.受注日});
Local DateVar Range dr;
dr := DateSerial (Year(d), Month(d) - 1, 1) To
DateSerial (Year(d), Month(d), 1 - 1);
//この時点で dr は、{Orders.受注日}の前月の
//すべての日付を保持する日付型範囲値になります

DateSerial 関数を使用すると、特殊なケースに悩む必要なく、簡単に処理できます。この関数では、不正な日付が作成されることはありません。たとえば、DateSerial(1999, 1 - 1, 1)は 1998 年 12 月 1 日になります。上の例の{Orders.受注日}は、実際には日時型のフィールドなので、CDate 関数を使って時刻部を切り捨て、日付に変換していることに注意してください。

参照

範囲データ型 | レポート中での計算の実行