我是Crystal的新手,我必须创建一个需要2个输入可选参数的基本报告:DateStart
和DateEnd
。
报告应包括两个日期之间的表中的记录数量(如果错过了DateEnd
日期值,报告应认为它需要所有记录,无论它们多大。如果遗漏DateStart
,报告应考虑它需要所有记录,无论他们多么年轻)
我想我必须使用SQL Expression Field
,但无法弄清楚如何实现where子句。
您如何实施此类报告?
提前谢谢!
答案 0 :(得分:0)
试试这个:
使用Date Parameter
和optional prompt
创建range
。
然后我记录选择公式:
if ( (not HasValue({?PARAM_YOUR_DATE}) or (not(HasLowerBound({?PARAM_YOUR_DATE}))) or (not(HasUpperBound({?PARAM_YOUR_DATE}))) ) then
True
else
{YOURDB.YOUR_DATE_FIELD} in {?PARAM_YOUR_DATE};
答案 1 :(得分:0)
当您想要显示所有记录时添加特殊值,即01/01/1900
crParameterDiscreteValue.Value ="19000101";
在第一个公式中
{?DateStart} = '19000101' or {table.DateStart} = {?DateStart}
在第二个公式中
{?DateEnd} = '19000101' or {table.DateEnd} = {?DateEnd}
无需使用if else语句。