Иллюстрированный самоучитель по Microsoft Access 2002

Оформление формы и ее элементов

Копирование формата элемента управления

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

  1. Выделите элемент управления, который уже отформатирован по вашему вкусу.
  2. Нажмите кнопку Формат по образцу (Format Painter) на панели инструментов Конструктор форм (Form Design).
  3. Поместите указатель мыши над элементом управления, который нужно отформатировать по имеющемуся образцу. Указатель мыши примет вид инструмента копирования формата (изображение малярной кисти).
  4. Щелкните левой кнопкой мыши.

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

Чтобы отформатировать по образцу сразу несколько элементов управления, следует после выделения элемента, имеющего необходимый формат, щелкнуть дважды по кнопке Формат по образцу. Включится режим копирования формата. После этого нужно подряд щелкать левой кнопкой мыши по всем элементам управления, которые требуется отформатировать. Чтобы закончить данную операцию, нажмите на эту кнопку (Формат по образцу) еще раз или нажмите клавишу Esc.

Такая процедура в несколько раз ускорит процесс форматирования элементов управления. Есть еще один способ ускорить форматирование элементов. Чтобы все новые элементы некоторого типа, создаваемые в текущей форме, автоматически приобретали необходимые параметры форматирования, выделите элемент управления этого типа, который послужит образцом формата, и выберите команду Формат › Задать стандартные свойства (Format › Set Control Defaults).

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

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

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

Тип условия задается выбором соответствующею элемента в самом левом раскрывающемся списке в группе параметров условия в диалоговом окне. Таких элементов списка, соответственно, три: Значение ноля (Field Value Is), Выражение (Is Expression) и Фокус в поле (Field Has Focus).

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

Чтобы добавить новое условие, нажмите кнопку Добавить >> (Add >>) в нижней части диалогового окна. Чтобы удалить некоторые условия, нажмите кнопку Удалить (Delete) и установите флажки напротив условий, которые требуется удалить.

Иллюстрированный самоучитель по Microsoft Access 2002 › Создание форм для ввода данных › Оформление формы и ее элементов
Рис. 5.26. Диалоговое окно Условное форматирование

Задать параметры форматирования элемента управления в диалоговом окне Условное форматирование для случаев выполнения условий и случая форматирования по умолчанию позволяют кнопки, аналогичные кнопкам форматирования на панели инструментов Формат (форма/отчет). После задания всех параметров форматирования нажмите кнопку ОК.

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

Например, откройте в режиме Конструктора форму "Подчиненная форма заказов" (Orders Subform) демонстрационной базы данных "Борей" и разверните ее на весь экран с помощью маленькой кнопки Развернуть (Maximize) в правом верхнем углу окна формы. Выделите поле "Отпускная цена" (ExtendedPrice) и отобразите диалоговое окно Условное форматирование. В самом левом раскрывающемся списке в группе параметров Условие 1 (Condition 1) выберите элемент Значение поля (Field Value Is), в следующем раскрывающемся списке выберите элемент больше (greater then) и в следующем текстовом поле введите константу или выражение, например 5* [Цена] (или 5*UnitPrice – для английской версии). В списке цветов кнопки Цвет текста (Font/Fore Color) в группе параметров Условие 1 данного диалогового окна выберите красный цвет. Нажмите кнопку ОК.

Это значит, что если полная стоимость заказа продукта превысит пятикратную цену продукта, т. е. когда продукт заказан в количестве свыше пяти, значение поля "Отпускная цена" выделится шрифтом красного цвета. Это мы сможем наблюдать, открыв в режиме Формы форму "Заказы" (Orders), подчиненную форму которой мы редактировали в данном примере.

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.