Условное форматирование элементов формы


До сих пор мы говорили о статическом задании параметров форматирования элементов формы. Но Access предоставляет также инструментарий и для динамического изменения форматирования элементов управления при работе с формой в режиме Формы или режиме Таблицы в зависимости or выполнения некоторых условий. Это средство" называется формат по условию. Для тогo чтобы применить данное средстно, откройте форму в режиме Конструктора выделите необходимый элемент управления и выберите команду Формат, Условное форматирование (Format, Conditional Formatting), Появится диалоговое окно Условное форматирование (Conditional Foi-matting). Это диалоговое окно позволяет задать от одного до трех условий, от выполнения которых зависит формат элемента управления. Условия могут быть ipex чипов:

  • значение элемента управления некоторым образом сравнивается с константой или со значением выражения;
  • задается логическое выражение, значение которого (Истина (True)) определяет, выполнилось ли условие;
  • условием в данном случае может служить событие получения фокуса данным элементом управления.

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

  1. В окне свойств элемента формы на вкладке Макет (Format) щелкните левой кнопкой мыши по одному из полей свойств, задающих цвет: Цвет фона (Back Color), Цвет текста (Fore Color) или Цвет границы (Border Color).
  2. Нажмите кнопку Построить (Build), появляющуюся рядом с текстовым полем соответствующего свойства. Появится диалоговое окно Цвет (Color), в котором можно выбрать один из 48 цветов. Если среди этих цветов есть нужный, то выделите его, а затем нажмите кнопку ОК. При этом выбранный цвет будет принят в качестве значения соответствующего свойства, а диалоговое окно Цвет будет закрыто. Если все же необходимо создать свой цвет, то перейдите к третьему шагу.
  3. Нажмите кнопку Определить цвет (Define Custom Colors). Диалоговое окно Цвет развернется для отображения схемы определения цвета.
  1. При помощи мыши выберите нужный цвет, щелкнув в любом месте матрицы определения цвета (большого прямоугольника, отображающего весь спектр). Затем отрегулируйте яркость, передвигая бегунок вдоль полосы, расположенной справа от матрицы определения цвета.

Если хотите точно задать цвет, введите тройку его числовых параметров: Оттенок/Контрастность/Яркость (Hue, Saturation, Luminosity) или Красный/Зеленый/Синий (Red, Green, Blue). Параметр оттенок может принимать значение в интервале от 0 до 239, а параметры контрастность и яркость — в интервале от 0 до 240. Каждый из параметров Красный/Зеленый/Синий может принимать значение в интервале от 0 до 255.

  1. Нажмите кнопку Добавить в набор (Add to Custom Colors). Новый цвет будет добавлен в один из 16 элементов набора Дополнительные цвета (Custom Colors). Можно было предварительно (перед выбором нового цвета) щелкнуть по одной из клеток в наборе Дополнительные цвета, чтобы поместить новый цвет именно в эту клетку.
  2. Выделите созданный цвет и нажмите кнопку ОК. При этом номер заданного цвета будет принят в качестве значения соответствующего свойства, а диалоговое окно Цвет будет закрыто.

Замечание

При создании форм, предназначенных для ввода данных, рекомендуется использовать не очень яркие цвета, которые не приводят к повышенному утомлению глаз и не мешают воспринимать данные.