2014-10-27 68 views
0

我试图根据一个参数创建一个公式,该公式将允许用户选择供应商品的描述,或者如果没有选择拉出所有值。还希望能够给他们一个参数,允许他们使用“like”选项键入描述的任何部分。我可以让公式的第一部分工作,但不是第二部分。它正确地拉一个输入的项目,或者如果没有输入,它会返回所有的值。任何超过第一个“或”的行为都不起作用。我应该为第二部分创建一个单独的参数还是可以使用同一个参数?如何在Crystal Reports 2008中使用“like”运算符使用参数

IF HASVALUE ({?DESCR}) THEN{Command.DESCRIPTION} = {?DESCR} else true 
or 
    (UPPER({Command.DESCRIPTION}) LIKE "*" + UPPERCASE({?DESCR}) + "*") 
    OR 
    (UPPER({Command.DESCRIPTION}) LIKE "*" + UPPERCASE({?DESCR}) + "*") 

回答

1

在一定程度上我理解你的要求,你不需要if后任何东西,因为虽然你给单个字符或字符串你HASVALUE ({?DESCR})返回true ...因此你可以修改你的公式

IF HASVALUE ({?DESCR}) 
THEN{Command.DESCRIPTION} LIKE "*" + {?DESCR} + "*" 
else true 

如果需要,您可以使用UPPERCASE

编辑:

IF HASVALUE ({?DESCR}) 
THEN {Command.DESCRIPTION} LIKE "*" + {?DESCR} + "*" 
ELSE IF HASVALUE({?NIIN}) 
THEN {Command.NIIN} = {?NIIN} 
ELSE IF HASVALUE({?CLASS}) 
THEN {Command.CLASS} = {?CLASS} 
else TRUE 
+0

如果我有公式几个可选的可变因素看我怎么会写这包括他们所有?我会使用其他如果或或?我输入了这个,但它没有返回一个错误,但是当提示我没有得到一个项目。我认为这与其他参数有关。这里是我的记录选择公式:IF HASVALUE({?DESCR}) THEN {Command.DESCRIPTION} LIKE“*”+ {?DESCR} +“*” 如果 HASVALUE({?NIIN})THEN {Command。 NIIN} = {?NIIN} ELSE IF hasValue的({?CLASS})则{Command.CLASS} = {?CLASS} 其他TRUE – Pam 2014-10-28 16:27:59

+0

您可以编辑所有的变量你的问题? – Siva 2014-10-28 16:29:14

+0

你的记录选择公式是正确的,但一个小的变化,我已经在我的答案中加入它..检查并让我知道 – Siva 2014-10-28 16:35:46

相关问题