Оператор Select Case

Оценить
(0 голоса)

Оператор Select Case очень похож на оператор Select Case, используемый в Visual Basic. Он упрощает выполнение проверок на основе множества условий с возвращением соответствующих результатов — те громоздкие операторы If-Then-Else, о которых шла речь выше, теперь могут быть заменены удобочитаемой и более легкой для восприятия логикой.

Взгляните на представленный ниже оператор If-Then-Else:

If {0Ship Days} = 0 Then "Доставка в тот же день"

Else

If {@Ship Days} = 1 Then "Доставка через 1 день"

Else

"Доставка через " + ToText({@Ship Days}. 0) + " дня"

Это сравнительно простая формула, которая проверяет, чему равно значение, вычисленное формулой @Ship Days, — 0 или 1 — и в зависимости от результата возвращает ту или иную строку. Если ни один из этих результатов не равен true, итоговая конструкция

Else отображает еще одно строковое значение. И хотя данный конкретный пример не отличается особой сложностью, трудность его понимания и интерпретации резко возрастает, если количество условий для проверки превышает два.

Оператор Select Case намного больше подходит для такого типа логики. Взгляните на следующую формулу:

Select {QShip Days}

Case 0:

"Доставка в тот же день"

Case 1:

"Доставка через 1 день"

Default:

"Доставка через " + ToText({@Ship Days}. 0) + " дня"

Оператор Select Case можно либо выбрать из категории Control Structures (Управляющие структуры) в окне Operator Tree редактора Formula Editor, либо просто ввести вручную. Начните со слова Select, за которым укажите поле базы данных, формулу или другое выражение. Затем добавьте несколько конструкций Case, каждая из которых будет проверять значение выражения Select (убедитесь в том, что значение, указанное в каждой конструкции Case, имеет тот же тип данных, что и выражение Select). Если вы хотите, чтобы формула возвращала один и тот же результат для различных значений выражения Select, вы можете отделить друг от друга значения, идущие после конструкции Case, запятыми. Чтобы указать диапазон значений, вы можете указать одно значение, добавить оператор То, а затем указать второе значение. После конструкции Case поставьте двоеточие (не следует ставить точку с запятой — это не конец оператора), а затем введите выражение, которое должна возвращать формула, если значение Select равно значению конструкции Case. Помните, что все выражения, которые определяются конструкциями Case, должны иметь один и тот же тип данных. Нельзя, чтобы одна конструкция Case возвращала строку, а другая — число. Определив все конструкции Case, вы можете добавить необязательную конструкцию Default. В этом случае после ключевого слова DEFAULT вам потребуется поставить двоеточие и ввести выражение, которое должна возвращать формула, если ни одно из значений во всех конструкциях Case не будет соответствовать значению, указанному в конструкции Select.

Подробнее в этой категории: « Crystal Reports предлагает формулы Цикл For »
Цикл For
Цикл While Do
Булевские формулы
Переменные в формулах и времена вычисления
Объявление переменной

Добавить комментарий


Защитный код
Обновить