Авторизация



Диапазоны значений

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

Диапазоны значений

По умолчанию поля параметров с диапазоном значений работают по принципу “включительно”; то есть значения, возвращаемые в отчет, включают те два значения, которые были указаны в диалоговом окне Enter Values. Однако если сбросить флажок Include Thes Value (Включать это значение), указываемые значения не будут включаться в диапазон Например, если пользователь в поле Start of Range введет число 300 и оставит флажсж Include This Value отмеченным, то в отчет попадут все записи, содержащие число 300 больше. С другой стороны, если он снимет отметку с флажка Include This Value, записи содержащие числа больше 300, попадут в отчет, а записи, содержащие число 300 — нет

При вводе значений можно использовать еще два флажка: No Lower Value (Нет нижнего значения) и No Upper Value (Нет верхнего значения). Эти флажки позволяют создавать открытые диапазоны (без нижней или без верхней границы). По умолчанию оба флажка не установлены, и диапазон ограничен значениями полей Start of Range и End of Range. Если установить один из флажков No Lower Value или No Upper Value (два одновременно установлены быть не могут), соответствующее значение диапазона игнорируется и используется только второе значение. Например, если в диапазоне от 100 до 1000 установить флажок No Lower Value, в отчет попадут все записи со значениями меньше 1000 (или меньше и равно 1000, если флажок Include This Value установлен). Если установить флажок No Upper Value, в отчет попадут все записи со значениями больше 100 (или больше и равно 100, если флажок Include This Value установлен).

Если поле параметра с диапазоном значений поместить в отчет для отображения введенных значений, в поле не будет показано ничего. Диапазон — это единичный объект, который хранит все значения указанного диапазона. Если этот объект поместить в отчет, Crystal Reports не отобразит никакого значения, поскольку он не знает, какое значение из диапазона показывать. Чтобы отобразить нижнюю и верхнюю границы диапазона, можно воспользоваться специальными формулами. Например, приведенная ниже формула отобразит начальную и конечную даты для поля параметра с диапазоном дат:

"Заказы, размещенные между " & Minimum({?Date Range}) & " и "

& Maximum!?Date Range})

Функции Minimum и Maximum возвращают, соответственно, первое и последнее значение диапазона. Несмотря на то что функции Minimum и Maximum возвращают значения типа Date, операция конкатенации (&) автоматически преобразовывает эти значения в строки.

Однако если используется флажок No Lower Value или No Upper Value, функции Minimum или Maximum будут возвращать нечитабельные или даже пустые значения. Для показа более осмысленного сообщения вы можете воспользоваться формулой, которая будет вычислять дату с помощью функций HasLowerBound и HasUpperBound и отображать вместо начальной и конечной даты текст:

"Заказы, размещенные между " &

Ilf(HasLowerBound({?Date Range}),

ToText(Minimum({?Date Range})),

"началом времен")

& " и " &

Ilf(HasUpperBound({?Date Range}),

ToText(Maximum({?Date Range})),

"будущим")

Если при создании поля параметра значение True установить не только для опции Allow Range Values, но еще и для опции Allow Multiple Values, то это поле сможет хранить несколько значений диапазонов. Другими словами, это будет массив диапазонов. Например, можно задать несколько диапазонов дат, чтобы просматривать заказы за период с 1 января 2003 года по 31 марта 2003 года, с 1 января 2004 года по 31 марта 2004 года и с 1 января 2005 года по 31 марта 2005 года. При вводе значений в такое поле параметра внизу диалогового окна появляется список диапазонов, в котором можно добавлять и удалять диапазоны (рис. 13.17).

Значения вводятся в полях Start of Range и End of Range и добавляются в список с помощью кнопки Add Range (Добавить диапазон). Удалить один или несколько диапазонов можно, выделив их в списке Selected Values и щелкнув на кнопке Remove. Удалить сразу все диапазоны можно, щелкнув на кнопке Remove All.

При использовании такого поля параметра в эксперте Select Expert или формуле выбора записей операция выбора заменяется на Between и One Of.

Внимание! Описанные выше функции Minimum и Maximum при использовании с массивами диапазонов будут вести себя несколько иначе. В этих случаях нужно указывать номер диапазона в массиве (номер указывается в квадратных скобках после имени поля параметра) для получения значений начала и конца для разных элементов массива.

 

Управление вводом данных в поле параметра
Максимальная и минимальная длина
Маски редактирования
Выделение цветом данных с помощью полей параметров
Использование полей параметров в формулах

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


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