Авторизация



Использование полей параметров в формулах

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

Существует множество ситуаций, когда значение поля параметра необходимо вводить в определенном формате или использовать определенный тип данных для поля, чтобы выбор записей работал правильно. Однако при этом отображаться это поле в отчете должно в другом формате, к тому же требуется выполнить некоторые вычисления с использованием введенного значения или каким-то другим образом манипулировать полем параметра в формуле. Также может понадобиться использовать в формуле некую величину, значение которой изменяется, например, ставку налога. Создав поле параметра для ввода ставки налога, можно генерировать отчеты для разных регионов и городов, где ставки налогов различаются.

После создания поле параметра появляется в дереве Field Tree редактора Format Editor, в категории Report Fields (Записи отчета). Оттуда вы можете добавить его в формулу точно так же, как поле базы данных или другую формулу. Главное не забывайте,

какой тип данных вы выбрали для этого поля параметра, когда его создавали: указание правильного типа данных в формуле позволит вам избежать ненужных ошибок, связанных с несовпадением типов. Не исключено, что вам придется воспользоваться функцией ToText, ToNumber или какой-то другой функцией преобразования.

Использование поля параметра для сравнения по части текста

В эксперте Select Expert доступна операция Like, которая чрезвычайно удобна для отбора по текстовым полям базы данных.

Операция Like позволяет использовать символы шаблона, такие как ? и *, соответствующие одному и нескольким символам. Например, операция Like по строке ?еог?е отберет записи George, Jeorge, Jeorje или Georje. Если использовать Like со строкой вида Je *, будут выбраны записи Jean, Jenny, Jennifer и Jerry.

Ha заметку! Вопросы, касающиеся выборки записей, более подробно рассматривались в главе 4.

Если разрешить ввод символов ? и * в поле параметра и использовать операцию Like в эксперте Select Expert, то возможности пользователя по настройке отбора записей будут существенно расширены. Однако если значение поля параметра должно отображаться в отчете, вместо действительно введенного значения потребуется использовать формулы преобразования данных.

Предположим, что имеется поле параметра с именем Customer Name, в котором пользователь может вводить текст для поиска с использованием символов ? и * (рис. 13.19).

Рис. 13.19. Ввод значения в поле параметра Customer Name

Если в заголовок страницы необходимо поместить сообщение с описанием того, какие покупатели были выбраны, потребуется создать следующую формулу:

If {?Customer Name} = 11 *" Then "Все заказчики"

Else

If Instr({?Customer Name},"?") > 0 or

Instr({?Customer Name},"*") > 0 Then

"Заказчики, соответствующие шаблону " + fTCustomer Name}

Else

"Заказчик: " + {?Customer Name}

Использование полей параметров в формулах

В этой формуле поле параметра используется точно так же, как любое другое поле базы данных или формулы. Если в поле параметра содержится только один символ *, будут выбраны все покупатели, и формула вернет строку Все заказчики. Если поле

параметра содержит как минимум один символ ? или * (функция Instr вернет позицию первого вхождения символа в строке или 0, если вхождения нет), формула вернет строку, которая показывает, что отчет основан на сравнении по части текста. И, наконец, если символов ? или * нет, отбор записей будет выполняться по точному совпадению поля базы данных и поля параметра, что формула и отобразит.

Для того чтобы по умолчанию отчет показывал всех покупателей без вмешательства пользователя, символ * должен быть установлен как значение по умолчанию для поля параметра, а с ним должно давать описание All Customers (Все заказчики).

На заметку! При использовании такого типа поля параметра в эксперте Select Expert, вместо операции Equal То следует выбирать операцию Like. Только в этом случае символы ?и * будут корректно интерпретироваться при выборке записей.

 

Использование поля параметра для изменений критериев сортировки или группирования
Взаимодействия с пользователем для ввода значений
Создание поля параметра
Типы данных полей параметров
Дата и время

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


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