Условное форматирование элементов формы
До сих пор мы говорили о статическом задании параметров форматирования элементов формы. Но Access предоставляет также инструментарий и для динамического изменения форматирования элементов управления при работе с формой в режиме Формы или режиме Таблицы в зависимости or выполнения некоторых условий. Это средство" называется формат по условию. Для тогo чтобы применить данное средстно, откройте форму в режиме Конструктора выделите необходимый элемент управления и выберите команду Формат, Условное форматирование (Format, Conditional Formatting), Появится диалоговое окно Условное форматирование (Conditional Foi-matting) (рис. 5.26). Это диалоговое окно позволяет задать от одного до трех условий, от выполнения которых зависит формат элемента управления. Условия могут быть ipex чипов:
- значение элемента управления некоторым образом сравнивается с константой или со значением выражения;
- задается логическое выражение, значение которого (Истина (True)) определяет, выполнилось ли условие;
- условием в данном случае может служить событие получения фокуса данным элементом управления.
Тип условия задается выбором соответствующею элемента в самом левом раскрывающемся списке в группе параметров условия в диалоговом окне. Таких элементов списка, соответственно, три: Значение ноля (Field Value Is), Выражение (Is Expression) и Фокус в поле (Field Has Focus).
Операндами выражений здесь могут быть ссылки на другие поля формы в том виде, как они обычно указываются в выражениях Access, и даже вызовы функций VBA. Если заданное условие выполнено, то .иемепг форматируется определенным для этого условия образом. Если ни одно из заданных условии не выполнилось, элемент форматируется в соответствии с форматом по умолчанию, который устанавливается в самой верхней части диалогового окна.
Чтобы добавить новое условие, нажмите кнопку Добавить >> (Add >>) в нижней части диалогового окна. Чтобы удалить некоторые условия, нажмите кнопку Удалить (Delete) и установите флажки напротив условий, которые требуется удалить.
Рис. 5.26. Диалоговое окно Условное форматирование
Задать параметры форматирования элемента управления в диалоговом окне Условное форматирование для случаев выполнения условий и случая форматирования по умолчанию позволяют кнопки, аналогичные кнопкам форматирования на панели инструментов Формат (форма/отчет). После задания всех параметров форматирования нажмите кнопку ОК.
Средство форматирования по условию очень удобно применять, например, для отображения денежных сумм, т. к. легко будет заметить выделенные особым стилем цифры той суммы, что вышла за пределы допустимого интервала.
Например, откройте в режиме Конструктора форму "Подчиненная форма заказов" (Orders Subform) демонстрационной базы данных "Борей" и разверните ее на весь экран с помощью маленькой кнопки Развернуть (Maximize) в правом верхнем углу окна формы. Выделите поле "Отпускная цена" (ExtendedPrice) и отобразите диалоговое окно Условное форматирование. В самом левом раскрывающемся списке в группе параметров Условие 1 (Condition 1) выберите элемент Значение поля (Field Value Is), в следующем раскрывающемся списке выберите элемент больше (greater then) и в следующем текстовом поле введите константу или выражение, например 5* [Цена] (или 5*UnitPrice — для английской версии). В списке цветов кнопки Цвет текста (Font/Fore Color) в группе параметров Условие 1 данного диалогового окна выберите красный цвет. Нажмите кнопку ОК.
Это значит, что если полная стоимость заказа продукта превысит пятикратную цену продукта, т. е. когда продукт заказан в количестве свыше пяти, значение поля "Отпускная цена" выделится шрифтом красного цвета. Это мы сможем наблюдать, открыв в режиме Формы форму "Заказы" (Orders), подчиненную форму которой мы редактировали в данном примере.
Замечание
Вычисление условий может потребовать некоторого времени, поэтому отображение форматирования тех элементов, для которых условие выполнилось, может произойти с небольшой задержкой.