Crystal Reports for Rational Application Developer ガイド

日付範囲(Crystal 構文)

このカテゴリの関数については、範囲データ型(Crystal 構文)で説明されています。注意点を 1 つ追加すると、これらの関数が生成する日付範囲は、現在の日付に依存します。たとえば、今日の日付が 1999 年 9 月 18 日である場合、LastFullMonth は次の日付型範囲値になります。
CDate(#Aug 1, 1999#) To CDate(#Aug 31, 1999#)
通常、この機能は便利ですが、場合によっては、{Orders.受注日} などのデータベース フィールドを基準にして日付範囲を決定する必要も生まれます。その場合は、代わりに日付/時刻関数を使用します。
以下はその例です。
Local DateVar d := CDate ({Orders.Order Date});
Local DateVar Range dr;
dr := DateSerial (Year(d), Month(d) - 1, 1) To
DateSerial (Year(d), Month(d), 1 - 1);
//At this point dr is the Date Range value holding
//the last full month before {Orders.Order Date}
DateSerial 関数を使用すると、特殊なケースに悩む必要なく、簡単に処理できます。この関数では、不正な日付が作成されることはありません。たとえば、DateSerial(1999, 1 - 1, 1)は 1998 年 12 月 1 日になります。

上の例の{Orders.受注日}は、実際には日時型のフィールドなので、CDate 関数を使って時刻部を切り捨て、日付に変換しています。



Business Objects, an SAP company
http://japan.businessobjects.com/
サポート サービス
http://japan.businessobjects.com/support/
Web 上の製品マニュアル
http://support.businessobjects.com/documentation/