Crystal Reports - 创建两个参数;一个参数 (EndDate) = CurrentDate & 一个参数 (StartDate) = CurrentDate 两周前

问题描述 投票:0回答:1

我的报告中有两个日期参数 ({?StartDate} 和 {?EndDate}),默认值为 1/9/1900。刷新后,我可以选择选择当前参数值或提示新值。 理想情况下,我希望每两周分发一次报告。报告中的数据应刷新并包含此日期范围内的数据:(刷新日)到(两周前)。

如果我在 8/22/23 刷新报告,{?StartDate} 应为 8/8/23,{?EndDate} 应为 8/22/23。

这是我在记录选择公式编辑器中当前的公式:

If Date(Year({?StartDate}), Month({?StartDate}), Day({?StartDate}) = Date(1900,01,01) and Date(Year({?EndDate}), Month({?EndDate}), Day({?EndDate}) = Date(1900,01,01)
    then 
        {?StartDate} = Date(DateAdd ('d', -14 ,CurrentDateTime))
        {?EndDate} = Date(CurrentDateTime)
    else
        {?StartDate}
        {?EndDate}

我也尝试过:

DateVar StartDate;
If {?StartDate} = Date('1/1/1900') then
(
  StartDate := DateAdd('d', -14, CurrentDate);
  StartDate := Date(Year(StartDate), Month(StartDate), Day(StartDate);
)
else
  StartDate := {?StartDate};
StartDate 

DateVar EndDate;
If {?EndDate} = Date('1/1/1900') then
(
  EndDate := DateAdd(CurrentDate);
  EndDate := Date(Year(EndDate), Month(EndDate), Day(EndDate);
)
else
  EndDate := {?EndDate};
EndDate

我遇到了很多错误。一旦我修复了一个错误,就会弹出另一条错误消息。 任何帮助将不胜感激!谢谢你。

这是我没有出现任何错误的一次。报告上没有显示任何数据,参数显示为 1/9/1900 至 1/9/1900。

crystal-reports
1个回答
0
投票

您无法为公式中的参数赋值。

相反,直接将日期逻辑与相关数据库列进行比较。例如,Order_Date。

© www.soinside.com 2019 - 2024. All rights reserved.