Crystal reports Crystal Report中记录选择的IF条件中的参数
我正在创建一个水晶报告。在我的报告中有三个参数。现在我想根据参数值过滤数据。因此,在记录选择公式中,我编写了以下公式Crystal reports Crystal Report中记录选择的IF条件中的参数,crystal-reports,Crystal Reports,我正在创建一个水晶报告。在我的报告中有三个参数。现在我想根据参数值过滤数据。因此,在记录选择公式中,我编写了以下公式 ( {Table_Name.Field01} = {?Field01} ) and ( if HasValue({?Field02}) Then { Table_Name. Field02} Like ('*'+{?Field02}+'*') else true ) and ( if HasValue({?Field03}) T
(
{Table_Name.Field01} = {?Field01}
)
and
(
if HasValue({?Field02}) Then
{ Table_Name. Field02} Like ('*'+{?Field02}+'*')
else true
)
and
(
if HasValue({?Field03}) Then
{ Table_Name. Field03} = ToNumber({?Field03})
else True
);
这个问题不起作用。只有在if条件中添加第三个参数时,它才起作用
and
(
if HasValue({?Field03}) Then
{ Table_Name. Field03} = ToNumber({?Field03})
else True
);
谁能告诉我怎么解决这个问题吗。我使用的是Crystal Report 2008。我建议避免使用可选参数-它们往往会破坏东西。如果相反,您可以设置默认值-类似以下内容: 参数;名称(默认*ALL)、头发(默认*ALL) 然后,我也倾向于避免在记录选择中使用if/Then/else-坚持使用逻辑运算符(and/or): 关于你的补充问题:
ucase({i.fnavn}) like '*' + ucase({?navn}) + '*'
or ucase({i.enavn}) like '*' + ucase({?navn}) + '*'
or ucase({i.navn}) like '*' + ucase({?navn}) + '*'
谢谢你的帮助。您能建议我如何将下面的sql查询转换为crystal report中的记录选择公式吗。其中+=”和(上面的i.fnavn)像“%”“+Navn.ToString().ToUpper()+”%“+”或上面的i.enavn像“+Navn.ToString().ToUpper()+”%“+”或上面的i.Navn像“+Navn.ToString().ToUpper()+”)”;
ucase({i.fnavn}) like '*' + ucase({?navn}) + '*'
or ucase({i.enavn}) like '*' + ucase({?navn}) + '*'
or ucase({i.navn}) like '*' + ucase({?navn}) + '*'