2012-04-18 41 views
0

私はCrystal Reports 12.0.0.683を使用しています。ここでは日付型のパラメータを使用し、の値を許可しますレコード選択式で使っています。私はがこの値を含めて設定し、この選択式を使用しています:日付範囲パラメータ - レコード選択範囲の境界を含む

(not HasValue({?PARAM_DATE}) OR 
(
    if HasLowerBound({?PARAM_DATE}) and HasUpperBound({?PARAM_DATE}) then 
       ({VIEW_REPORT_1.DATE_DUE} > Minimum({?PARAM_DATE})) and 
         ({VIEW_REPORT_1.DATE_DUE} < Maximum({?PARAM_DATE})) 
    else if HasLowerBound({?PARAM_DATE}) and not HasUpperBound({?PARAM_DATE}) then 
       ({VIEW_REPORT_1.DATE_DUE} > Minimum({?PARAM_DATE})) 
    else if HasLowerBound({?PARAM_DATE}) and not HasUpperBound({?PARAM_DATE}) and IncludesLowerBound({?PARAM_DATE}) then 
       ({VIEW_REPORT_1.DATE_DUE} >= Minimum({?PARAM_DATE})) 
    else if not HasLowerBound({?PARAM_DATE}) and HasUpperBound({?PARAM_DATE}) then 
       ({VIEW_REPORT_1.DATE_DUE} < Maximum({?PARAM_DATE})) 
    else if not HasLowerBound({?PARAM_DATE}) and HasUpperBound({?PARAM_DATE}) and IncludesUpperBound({?PARAM_DATE}) then 
       ({VIEW_REPORT_1.DATE_DUE} <= Maximum({?PARAM_DATE})) 
)) 

は私がIncludesUpperBoundIncludesLowerBoundを使用しますが、それはまだ右のレコードを選択されていません。

たとえば、DATE_DUE 2012-03-30があります。パラメータ2012-03-30を設定してこの値を含めると、レコードが除外されます。

私は間違っていますか?

答えて

3

ここでは、より小さい等しいか等しい/等しい以上の値を使用していないので、値は含まれていません。最大値または最小値はです。あなたは非常にこれを行うことによって、あなたのコードを簡素化することができ

:私はこれをしようとしたとき、このdidntは、以前働いていた理由を

not(hasvalue({?PARAM_DATE})) 
or {VIEW_REPORT_1.DATE_DUE} in {?PARAM_DATE}
+0

いけない知っている;)Thxを... –