Как использовать if else для построения строки в формуле отчетов Crystal - PullRequest
13 голосов
/ 21 ноября 2008

Кстати, это Crystal Reports 9 в Visual Studio 2003

Простой вопрос о синтаксисе формулы 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 должно быть результатом формулы.

Пока мы на нем, есть ли какие-нибудь ярлыки для их написания? Это ужасно многословно, троичный оператор будет очень кстати.

1 Ответ

18 голосов
/ 21 ноября 2008

Ваш пример близок. Просто используйте синтаксис 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';
...