如果然后如何使用在水晶报告公式中构建一个字符串

Geo*_*uer 13 syntax crystal-reports

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

关于水晶报告公式语法的简单问题:如何使用if then子句构建公式的结果?

具体来说,我想要这样的事情:

dim val as string
val = {table.level}
if {table.uom_id} = 5 then 
  val = val & ' feet'
else
  val = val $ ' meters'
end if
Run Code Online (Sandbox Code Playgroud)

和val应该是公式的结果.

只要我们在这里,有没有写这些的捷径?这些是非常冗长的,三元运算符将非常受欢迎.

Jos*_*ons 18

你的例子很接近.只需使用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
Run Code Online (Sandbox Code Playgroud)

但如果你想要更简洁的东西,请使用:

if {table.uom_id} = 5 then
  {table.level} + ' feet'
else
  {table.level} + ' meters';
Run Code Online (Sandbox Code Playgroud)