Syntax 如何使用if-then-else在crystal reports公式中构建字符串

Syntax 如何使用if-then-else在crystal reports公式中构建字符串,syntax,crystal-reports,Syntax,Crystal Reports,顺便说一下,这是Visual Studio 2003中的Crystal Reports 9 关于crystal reports公式语法的简单问题:如何使用if-then子句构建公式的结果 具体来说,我想要这样的东西: dim val as string val = {table.level} if {table.uom_id} = 5 then val = val & ' feet' else val = val $ ' meters' end if val应该是公式的结果

顺便说一下,这是Visual Studio 2003中的Crystal Reports 9

关于crystal reports公式语法的简单问题:如何使用if-then子句构建公式的结果

具体来说,我想要这样的东西:

dim val as string
val = {table.level}
if {table.uom_id} = 5 then 
  val = val & ' feet'
else
  val = val $ ' meters'
end if
val应该是公式的结果


只要我们还在做,写这些有什么捷径吗?这些都非常冗长,三元运算符非常受欢迎。

您的示例非常接近。只需使用Crystal语法,如下所示:

stringvar val := {table.level};

if {table.uom_id} = 5 then
  val := val + ' feet'
else
  val := val + ' meters';

//to return a value, just plop it down at the end
val
但是,如果您想要更简洁一点的内容,请使用以下命令:

if {table.uom_id} = 5 then
  {table.level} + ' feet'
else
  {table.level} + ' meters';

是的。如果Crystal允许你从一个函数调用另一个函数(带参数),生活会简单得多。事实上,我认为Crystal允许你从公式调用函数。你可以调用另一个Crystal函数,但你不能传递任何参数。