2009-05-14 18 views
1

現在の日付から3ヶ月後の月末までの日付のみのレコードのみを選択しようとしています。
ジュディ:Crystal Reportsの日付機能

は現在、クエリに一致するテーブル内の2つの日付がある5/17/09
空自:

DateVar current = Date(DurrentDateTime); //takes the time off 
DateVar ThreeMonthsAway = Date(year(CurrentDateTime), month(CurrentDateTime)+4, 1) - 1; // month+4, then -1 days to get last day three months away 
{tblTenant.LeaseEnds} > current AND {tblTenant.LeaseEnds} < ThreeMonthsAway 
:これは私の式で8/9/09

問題は、結果が返されないということです。私が2番目の部分を離れると、私は両方の結果が得られますが、3ヶ月以内に日付が欲しいだけです。

私は間違っていますか?

答えて

1

あなたのコード例では、あなたの数式を書くためにCrystal Syntaxを使用していると思いますので、変数の割り当ては "="を使用して "="を使用して行わなければなりません。 "="は、Crystal構文の値を比較するために使用されます。例えば、hereを参照してください。 (。たぶん、あなたは基本的な構文と混合されている)

だからあなたのコードは、(残念ながら、私はそれをテストするために、ここでCRを持っていない)読まなければならない:

DateVar current := Date(CurrentDateTime); //takes the time off 
DateVar ThreeMonthsAway := Date(year(CurrentDateTime), month(CurrentDateTime)+4, 1) - 1; // month+4, then -1 days to get last day three months away 
{tblTenant.LeaseEnds} > current AND {tblTenant.LeaseEnds} < ThreeMonthsAway 
0

おそらく、将来を見据えて4か月分を加算するのではなく、それらを減算するためですか?

あなたは「3か月前の月末」を質問しますが、サンプルの日付は(2009年5月14日現在)未来にあるため、質問や質問を誤解している可能性があります誤って書かれています。

あなたはThreeMonthsAwayの価値を印刷して評価していますか? Date()の3引数形式が年月日の順序で引数を取ることは確かですか(それはもっともらしいですが、注文が月日であるシステムにも遭遇しました)?


ここでのポイントのいくつかは、問題を修正することによって対処されてきた(またはコメントがなされたため、問題が修正されたため、コメントは無関係にレンダリングされています)。

+0

どのように私はThreeMonthsAwayをプリントアウトできますか? – Malfist

+0

他の変数や値をどのように出力しますか?必要に応じて、少なくともデバッグ中は出力の一部として組み込みます。 –

+0

クリスタルレポートの他の変数をどのように表示するかはわかりません。 – Malfist

関連する問題