0

私はCrystal Reports 12.0.0.683を使用しており、日付型のパラメーターを使用し、Allow Range Valuesに設定しています。Record Selection Formulaで使用したいよりも。[この値を含める]を設定し、次の選択式を使用しています。

(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}))
))

IncludesUpperBoundandを使用してIncludesLowerBoundいますが、まだ正しいレコードが選択されていません。

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

私は何を間違っていますか?

4

1 に答える 1

3

Less-Than-Or-Equals/Greater-Than-Or-Equals をどこでも使用していないため、最大値または最小値に等しい値は含まれません。

これを行うことで、コードを大幅に簡素化できます。

not(hasvalue({?PARAM_DATE}))
or {VIEW_REPORT_1.DATE_DUE} in {?PARAM_DATE}
于 2012-04-18T13:54:21.683 に答える