Access 2002 предлагает несколько способов создания форм. Самым простым из них является использование средств автоматического создания форм на основе таблицы или запроса. Автоматически создаваемые формы
(автоформы)
бывают нескольких видов, каждый из которых отличается способом отображения данных.
Автоматически созданная форма включает все поля выбранного источника данных. Чтобы создать форму с помощью средства автоматического создания форм:
В формах, так же как и в таблицах, предусмотрена
пустая запись,
которая предназначена для добавления новых записей в таблицу. Эта пустая запись, как и в таблице, отображается в форме после всех заполненных записей. К этой записи можно перейти, пролистав в форме все записи с помощью кнопок перехода по записям или с помощью специальной кнопки перехода на новую запись. После ввода данных в эту запись и ее сохранения данные автоматически попадают в таблицу.
При добавлении новой записи в таблицу с помощью формы необходимо, переместившись на пустую запись, заполнить поля этой формы в соответствии с правилами, определенными разработчиком формы. Перемещение между полями формы, используемыми для ввода и редактирования данных, происходит аналогично тому, как это делается в запросах и таблицах, за исключением того, что клавиши перемещения курсора вверх и вниз перемещают курсор между полями, а не между записями. Для сохранения введенных значений нажмите комбинацию клавиш <Shift>+<Enter>.
Замечание
Чтобы можно было добавлять новые записи в таблицу в режиме Формы, свойство
Разрешить добавление
(Allow Additions) должно иметь значение Да (Yes). Значение этого свойства можно изменить, используя окно'свойств формы в режиме Конструктора.
Чтобы добавить новую запись в таблицу с помощью формы:
Замечание
Редактирование полей для формы разрешено в тех же случаях, что и для таблицы или запроса, являющегося источником данных формы, т. е. до тех пор, пока это не будет запрещено в свойстве формы Разрешить изменение (Allow Edits).
Замечание
Чтобы отменить создание новой записи после нажатия кнопки
Новая запись
на панели инструментов, просто нажмите кнопку перехода к предыдущей записи.
Чтобы запретить добавление записей в таблицу с помощью формы:
Кроме оформления фона формы, в Access можно легко отформатировать и отдельные'элементы управления: изменить цвет текста, ширину, цвет и стиль границы элемента формы.
Изменить внешний вид границы можно с помощью окна свойств элемента управления. Выделите элемент управления, который необходимо изменить, щелкнув по нему левой кнопкой мыши, а затем нажмите кнопку
Свойства
(Properties) на панели инструментов
Конструктор форм
(Form Design). В открывшемся окне свойств раскройте вкладку Макет (Format) и с помощью полосы прокрутки найдите свойства, отвечающие за оформление текста и рамок. Выбор значений для большей части свойств рамок элементов управления осуществляется при помощи раскрывающихся списков. Для определения значения свойства, определяющего цвет какого-либо параметра, необходимо ввести число, представляющее нужный цвет в системе обозначения цветов в Windows, что достаточно сложно. Поэтому для задания цвета элемента управления проще воспользоваться соответствующей кнопкой панели инструментов
Формат (форма/отчет).
В табл. 5.3 приведены названия и возможные значения свойств границ элементов управления, которые можно установить в окне свойств элемента управления.
Глава 5. Создание форм для ввода данных Автоматическое создание формы на основе таблицы или запроса Создание формы с помощью мастера Режимы работы с формами Печать формы Режим Конструктора Окно приложения в режиме Конструктора Структура формы Панель инструментов Конструктор форм Панель инструментов Формат (форма/отчет) Параметры работы с формами Основные элементы управления Создание и удаление элементов управления Создание элементов управления с помощью панели элементов Создание элементов управления с помощью кнопки Список полей Удаление элементов формы Выделение формы и элементов управления и отображение окна свойств Задание последовательности перехода для элементов управления в форме Перемещение и изменение размеров элементов управления Перемещение и изменение размеров одного элемента управления Выделение и перемещение нескольких элементов управления Выравнивание одного элемента управления по сетке Выравнивание и изменение размеров нескольких элементов управления Изменение взаимного расположения и группировка элементов управления Копирование, вставка и удаление элементов управления Изменение надписей Изменение типа элемента управления Оформление формы и ее элементов Применение автоформата Изменение цвета фона формы и ее элементов Изменение фонового рисунка формы Форматирование элементов формы Копирование формата элемента управления Условное форматирование элементов формы Использование дополнительных цветов Сохранение формы Режим Формы Окно приложения при работе в режиме Формы Добавление записи Изменение записи Отмена изменения записи Удаление записи Выводы |
Стандартные палитры, отображаемые в списке кнопки настройки какого-либо цвета, предоставляют выбор, хотя и из большого, но все же ограниченного набора цветов. Может случиться так, что ни один из этих цветов не подойдет для раздела формы или элемента управления. В такой ситуации Access 2002 позволяет создавать свои собственные цвета:
Основным параметром, определяющим внешний вид формы, является цвет ее фона. Поэтому при выборе цвета фона необходимо руководствоваться тем, для каких целей предназначена разрабатываемая форма и как в дальнейшем планируется ее использовать. Напомним, что для форм, выводимых на печать, лучше использовать менее яркие цвета, поскольку цветной фон или фон с рисунком потребуют больших затрат на расходные материалы для принтера.
Цвет фона раздела формы или ее элемента определяется значением свойства
Цвет фона
(Back Color). В форме, созданной с помощью Мастера форм, фон всех ее разделов зависит от стиля оформления, выбранного при ее создании. Например, к форме "Форма_Сотрудники" был применен автоформат
Стандартный
(Standard), который задает светло-серый цвет фона.
Чтобы изменить цвет фона раздела формы или ее элемента:
Заметим, что цвет фона раздела формы в Access устанавливается независимо от цвета фона других разделов. Поэтому, чтобы поменять цвет всех разделов, нужно задать новый цвет для каждого раздела отдельно.
Цвет фона раздела формы не влияет на цвет фона элементов управления, находящихся в нем. Для каждого элемента управления также можно выбрать свой цвет фона и цвет шрифта. Для меток элементов управления обычно задан прозрачный цвет фона, т. е. в качестве фона метки используется та часть фона раздела формы, которую она занимает. По умолчанию для текстовых полей используется белый цвет фона, поэтому цвет текстовых полей (и содержащихся в них данных) контрастен цвету фона формы.
Можно задать прозрачный цвет фона не только меткам, но и таким элементам управления, как текстовые поля и раскрывающиеся списки. Для этого выделите элемент управления одного из упомянутых типов, а затем в списке Цвет заливки/фона выберите элемент Прозрачный (Transparent). Заметим, что применение прозрачного цвета фона ко всему разделу формы не разрешено. Л задание прозрачного фона текстовому полю или раскрывающемуся списку приведет к следующему эффекту: в режиме Формы цвет данного элемента управления станет прозрачным, когда этот элемент не будет активным, т. е. когда фокус (точка ввода) будет находиться в другом элементе. Когда же точка ввода будет помещена в данное текстовое поле или раскрывающийся список, он приобретет непрозрачный цвет фона, который был задан ему ранее. Пример такого отображения полей можно наблюдать в форме "Заказы клиентов" (Customer Orders) демонстрационной базы данных "Борей" (это поля "Название" (Company Name) и "Страна" (Country)). Дело в том, что значение "прозрачный" соответствует на самом деле не свойству элемента Цвет фона (Back Color), а свойству Тип фона (Back Style). Тип фона элемента может принимать одно из двух значений: Обычный (Normal) (когда потеря фокуса элементом не изменяет его цвет) или Прозрачный (Transparent).
В качестве фона формы Access 2002 позволяет задавать не только гладкие цвета, но и растровые рисунки, хранящиеся в разнообразных графических форматах, таких как WMF и BMP. В комплект поставки Access 2002 входит несколько растровых рисунков, которые хранятся в папке \Microsoft Office\OfficelO\Bitmaps\Styles.
Чтобы задать фоновый рисунок для формы:
Для изменения надписей или меток элементов управления можно использовать стандартные приемы редактирования. Если поместить указатель мыши в пределах границ выделенной метки или надписи и щелкнуть левой кнопкой мышки, появится текстовый курсор, используемый для вставки и удаления текста. Текст элемента управления можно выделить, удерживая нажатой клавишу <Shift> и перемещая курсор при помощи клавиш <<-> и <->>. Все операции работы с буфером обмена Windows применимы и для текста элементов управления.
Аналогичным способом, щелкнув внутри текстового поля, чтобы отобразить текстовый курсор, можно редактировать текст, отображаемый внутри поля. Это не просто текст, а имя присоединенного поля источника данных. Если ввести имя несуществующего поля источника данных или допустить ошибку при редактировании, то при переходе в режим Формы или режим Таблицы в этом текстовом поле будет отображаться сообщение об ошибке: iName?. Самый простой способ исправить эту ошибку — удалить данное поле (с помощью клавиши <DeI>) и создать новое, перетащив на форму поле источника данных, которое нужно присоединить к текстовому полю, из окна Список полей (Field List), как было описано в разд. "Создание элементов управления с помощью кнопки Список полей" данной главы.
Изменение типа элемента управления
Если при разработке формы вдруг возникла необходимость заменить текстовое поле раскрывающимся списком, вы можете сделать это, просто выделив имеющийся элемент управления и выбрав команду
Формат, Преобразовать элемент в, Поле со списком
(Format, Change To, Combo Box). Также просто можно преобразовать любой из девяти наиболее часто применяющихся типов элементов управления в подобный ему элемент управления другого типа с помощью команды меню
Формат, Преобразовать элемент в.
Девяти типам элементов соответствуют девять команд этого меню:
Поле
(Text Box),
Надпись
(Label),
Список
(List Box),
Поле со списком
(Combo Box),
Флажок
(Check Box),
Выключатель
(Toggle Box),
Переключатель
(Option Button),
Изображение
(Image) и
Кнопка
(Command Button).
Конечно, для элемента данного типа возможно преобразование в элемент не любого из названных девяти типов, а только в элемент похожего типа. Очевидно, что текстовое поле не преобразовать в переключатель, зато его можно преобразовать в надпись, список или поле со списком. В меню будут доступны соответствующие команды. При преобразовании сохраняются значения общих свойств элементов обоих типов.
При работе с формой в режиме Конструктора, перетаскивая элементы, можно случайно поместить один элемент так, что он пересечется с другим элементом, т. е. накроет его сверху целиком или закроет какую-то его часть. Это нежелательный эффект, и скорее всего вы захотите разъединить элементы или удалить один из них. Если один из элементов находится под другим, то говорят, что он расположен "на заднем плане", а другой элемент, соответственно, — "на переднем плане". При выделении элемента, частично накрытого другим, он временно оказывается на переднем плане.
Если элемент управления был полностью накрыт другим, то его никак не получится выделить с помощью мыши, т. к. щелчком в области его расположения будет выделяться тот элемент, что находится сверху. Чтобы получить доступ к элементу, закрытому другим элементом, можно отодвинуть верхний элемент или переместить его на задний план. Для этого выделите этот элемент, а затем выберите команду
Формат, На задний план
(Format, Send to Back). Чтобы переместить выделенный элемент на передний план, выберите команду
Формат, На передний план
(Format, Bring to Front).
Таким же образом можно перемещать на передний или задний план сразу несколько выделенных элементов. По умолчанию порядок перекрывания одного элемента другим, т. е. то, какой из элементов окажется сверху, определяется порядком создания элементов: новый элемент всегда накроет старый (созданный ранее). Этот порядок изменяется командами перемещения элементов с переднего на задний план и наоборот.
В режиме Конструктора можно объединить несколько элементов в группу, выделив их и выбрав команду
Формат, Группировать
(Format, Group). Тогда можно будет выделить всю группу одним щелчком внутри нее. При выделении всей группы вокруг нее отображается охватывающий прямоугольник с маркерами перемещения и изменения размеров. Потянув кнопкой мыши за маркер изменения размера группы, можно изменить относительные размеры сразу всех элементов в группе. Перетаскиванием за рамку или маркер перемещения группы можно всю группу элементов сразу поместить на новое место. Тем не менее в выделенной группе каждый элемент по-прежнему можно выделить и работать с ним отдельно от других элементов группы.
Чтобы отменить группировку элементов, выделите группу и выберите команду
Формат, Разгруппировать
(Format, Ungroup).
Замечание
Обращаем ваше внимание на то, что, упоминая группу элементов, чаще всего имеют в виду группу выделенных элементов, а не сгруппированные элементы. Хотя в большинстве случаев работа с группой элементов и сгруппированными элементами одинакова.
Редактирование существующих записей аналогично доблению новых записей. Однако прежде чем приступить к редактированию записи, ее нужно найти. Для этих целей можно воспользоваться кнопками перехода по записям (кнопками навигации), расположенными в нижней части окна формы (рис. 5.33). Эти кнопки выполняют те же функции, что и аналогичные кнопки в таблицах и запросах. В текстовом поле, находящемся между кнопками навигации, отображается порядковый номер текущей записи. Чтобы отобразить нужную запись с известным номером, просто введите номер в это поле и нажмите клавишу <Enter>. Самая левая кнопка навигации и симметричная ей правая кнопка навигации позволяют перейти на первую или последнюю запись таблицы или запроса, являющегося источником данных для основной формы. Вторая слева и симметричная ей справа кнопка навигации позволяют переходить, соответственно, к предыдущей или последующей записям.
Предположим, вы потратили какое-то время на форматирование одного элемента управления, добились желаемого эффекта и теперь хотите также отформатировать еще один элемент. Не торопитесь повторять все уже проделанные действия по форматированию, просто выполните следующую элементарную процедуру:
В результате произойдет автоматическое копирование формата: новый элемент управления будет отформатирован по образцу предыдущего элемента управления, причем скопированы будут только те параметры форматирования, применение которых возможно для данного типа элемента управления.
Чтобы отформатировать по образцу сразу несколько элементов управления, следует после выделения элемента, имеющего необходимый формат, щелкнуть дважды по кнопке
Формат по образцу.
Включится режим копирования формата. После этого нужно подряд щелкать левой кнопкой мыши по всем элементам управления, которые требуется отформатировать. Чтобы закончить данную операцию, нажмите на эту кнопку
(Формат по образцу)
еще раз или нажмите клавишу <Esc>.
Такая процедура в несколько раз ускорит процесс форматирования элементов управления. Есть еще один способ ускорить форматирование элементов. Чтобы все новые элементы некоторого типа, создаваемые в текущей форме, автоматически приобретали необходимые параметры форматирования, выделите элемент управления этого типа, который послужит образцом формата, и выберите команду Формат, Задать стандартные свойства (Format, Set Control Defaults).
Все стандартные команды работы с буфером обмена Windows применимы и для элементов управления. Выделенный элемент управления или группу элементов управления можно удалить или скопировать в буфер обмена, а затем вставить в форму и надлежащим образом разместить. В Access для работы с буфером обмена используются стандартные сочетания клавиш Windows:
Традиционные сочетания клавиш <Shift>+<Del>, <Ctrl>+<Ins> и <Shift>+<Ins> выполняют те же самые операции.
Чтобы удалить элемент управления, выделите его и нажмите клавишу <Del>. Если случайно была удалена метка, связанная с элементом управления, то выделите другую метку, скопируйте ее в буфер обмена, затем выделите элемент управления, с которым нужно связать метку, и вставьте ее из буфера обмена.
Если форма создавалась "с нуля" в режиме Конструктора или с помощью мастера без применения красивого
автоформата,
она и ее элементы окрашены в непритязательные черно-белые тона. Чтобы сделать форму более привлекательной, выделить на общем фоне какие-то важные элементы, вы можете изменить цвет фона формы и цвета ее элементов, выбрать оформление рамок для элементов управления, задать подходящий шрифт, его цвет и размер для текста надписей и других элементов. Параметры форматирования задаются с помощью панели инструментов
Формат (форма/отчет)
(Formatting (Form/Report)) и с помощью окна свойств формы или ее элементов. В настоящем разделе мы расскажем о том, как это рделать.
Внимание
Если форма будет печататься на принтере, не увлекайтесь цветовым оформлением формы: печать фонового рисунка, темного фона формы и ее элементов потребует значительных затрат расходных материалов, да эти изыски и ни к чему для "твердой копии" формы, поскольку на бумаге важнее сами данные, а не их оформление. Для печати лучше всего выбрать белый фон для формы и ее элементов, не очень жирные рамки для элементов и шрифт обычной толщины для текста. Если же форма имеет хорошее цветовое оформление, которое важно сохранить для интерактивной работы, печатайте ее в режиме Таблицы.
Чтобы открыть форму в режиме Формы:
После перехода в режим Формы появится панель инструментов
Режим формы
(Form View), содержащая кнопки, функции которых приведены в табл. 5.4. Сама панель представлена на рис. 5.30.
Откройте форму "Форма_Товар" в режиме Конструктора (см. рис. 5.8).
При работе в режиме Конструктора форм используются следующие элементы окна приложения.
Замечание
Панель элементов появляется на экране всякий раз при переходе в режим Конструктора. Если закрыть эту панель инструментов, в следующий раз она не появится. Тогда, чтобы отобразить ее, нажмите кнопку Панель элементов на панели инструментов Конструктор форм или выберите команду Вид, Панели инструментов (View, Toolbars), а затем установите флажок Панель элементов (Toolbox).
В этом разделе мы рассмотрим наиболее простые и часто используемые элементы управления: текстовое поле, надпись, поле со списком, переключатель, выключатель и флажок. Формы с вкладками и многостраничные формы будут подробно рассмотрены
в гл. 9.
Чтобы сделать форму более понятной и легко читаемой, в нее добавляют'заголовки, подписи или пояснения. Этот текст является неизменяемым и создается с помощью элемента управления
Надпись
(Label).
Для отображения, ввода или изменения в форме текстовых данных, например примечаний, используют текстовые поля, которые создаются с помощью элемента управления
Поле
(Text Box).
Текстовые поля позволяют вводить произвольные значения (хотя можно ограничить множество допустимых значений для поля, задав с помощью окна свойств текстового поля, например, маску ввода или правило проверки введенного значения). Чтобы предоставить пользователю выбор из определенного набора значений, вместо текстовых полей применяют такие элементы управления, как флажки, переключатели, выключатели, объединенные в группы однотипных элементов, а также списки.
Группа (рис. 5.13) тоже представляет собой элемент управления, который имеет название
Группа переключателей
(Option group). С каждым элементом управления в группе сопоставляется уникальное число, однозначно определяющее данный элемент в группе, и это число сохраняется в качестве значения свойства
Значение
(Option Value) элемента управления. Отдельно стоящий элемент управления типа
Флажки
(Check box),
Переключатели
(Option button) или
Выключатели
(Toggle button), не включенный в группу подобных элементов, определяет значение логического типа: Да (Yes) или Нет (No), В данном случае вместо значения Да допускается использовать значение
Истина
(True) или любое положительное число, а вместо значения Нет — значение
Ложь
(False) или ноль. Элементы управления
Флажки
(Check box),
Переключатели
(Option button),
Выключатели
(Toggle button) и
Группа переключателей
(Option group) имеют свойство
Значение по умолчанию
(Default Value), позволяющее задать первоначальное состояние элемента управления или группы. Для отдельного элемента управления в качестве значения этого свойства используется значение логического типа, а для группы — число, сопоставленное с одним из элементов группы (с тем элементом, который будет выбран в группе по умолчанию).
Access не внесет в таблицу изменения до тех пор, пока не будет выделена другая запись или не будет сохранена отредактированная новая запись, например с помощью команды Записи, Сохранить запись (Records, Save Records) или комбинации клавиш <Shift>+<Enter>. Последнее сохранение записи можно отменить, если сразу же после сохранения записи в таблице нажать кнопку Отменить ввод (Undo typing) на панели инструментов Режим формы (Form View) или выбрать команду Правка, Отменить ввод (Edit, Undo typing).
Кнопки и раскрывающиеся списки, облегчающие выбор параметров форматирования (цвета, шрифта, толщины линий и т. п.), расположены на отдельной панели инструментов, которая называется
Формат (форма/отчет)
(Formatting (Form/Report)). Эта панель инструментов применяется для форматирования элементов как форм, так и отчетов.
Функции кнопок, используемых для форматирования текста, аналогичны функциям кнопок, которые можно увидеть на панелях инструментов Microsoft Word. Раскрывающийся список
Объект
(Object) отображает имя выделенного элемента управления формы и позволяет быстро выделить другой объект в форме, выбрав его имя в списке. По умолчанию для элементов управления форм используется такой же шрифт, как для таблиц и запросов. В раскрывающемся списке
Шрифт
(Font), можно выбрать любой из установленных на компьютере шрифтов. В раскрывающемся списке
Размер
(Font Size) можно выбрать нужный размер шрифта или ввести его значение (в пунктах).
На рис. 5.11 изображена панель форматирования, а в табл. 5.2 приведены названия и функции кнопок, предназначенных для форматирования текста элементов управления, а также значение соответствующих свойств элемента управления.
Панель инструментов
Конструктор форм
(Form Design) в Access 2002 содержит кнопки, предназначенные для разработки форм. На рис. 5.10 изображена панель инструментов
Конструктор форм,
а в табл. 5.1 приведены описания кнопок этой панели инструментов и соответствующие им команды меню.
Параметры работы с формами
При создании новых форм используются параметры, заданные с помощью диалогового окна
Параметры
(Options). Для отображения окна параметров выберите команду
Сервис, Параметры
(Tools, Options) и в появившемся диалоговом окне раскройте вкладку
Формы и отчеты
(Forms/Reports) (рис. 5.12). С помощью этой вкладки можно задать имя существующей формы (в текстовом поле
Шаблон формы
(Form template)), которая будет использована в качестве образца оформления новых форм, исключая формы, созданные с помощью Мастера форм. Можно также задать способ выделения объектов в форме или отчете, выбрав соответствующий элемент в группе
Выделение объектов
(Selection behavior), и еще назначить использование по умолчанию процедур VBA для обработки событий форм, элементов управления или отчетов, установив флажок
Всегда использовать процедуры обработки событий
(Always use event procedure).
Форма, так же как и таблица, запрос или отчет базы данных Access, может служить документом для печати. Напечатать форму можно, находясь в любом режиме работы с ней, например в режиме Таблицы или режиме Формы. При этом внешний вид печатаемой формы будет соответствовать текущему режиму. Команды печати и способ настройки параметров печати точно такие же, как при печати таблиц и отчетов Access или, например, документов Word. Это стандартные команды меню
Файл
(File):
Параметры страницы
(Page Setup),
Предварительный просмотр
(Print Preview) и
Печать
(Print), а также кнопки на панели инструментов текущего режима работы с формой и панели инструментов
Предварительный просмотр
(Print Preview). Печать формы, как и других объектов базы данных, можно выполнить и программным путем с помощью процедуры на VBA или макроса
(о программировании речь пойдет в части II книги).
Чтобы увидеть, как форма будет выглядеть при печати, следует перейти в режим предварительного просмотра. Для этого выберите команду Файл, Предварительный просмотр (File, Print Preview) или нажмите кнопку Предварительный просмотр (Print Preview) на панели инструментов. Чтобы вернуться в прежний режим работы с формой, снова выберите команду меню Файл, Предварительный просмотр или нажмите кнопку Закрыть (Close) на панели инструментов. Наконец, можно нажать на стрелку справа от кнопки Вид (View) на панели инструментов и выбрать один из режимов для дальнейшей работы с формой.
При разработке формы, даже созданной с помощью Мастера, наверняка потребуется изменить расположение и размеры элементов управления. Можно изменить размеры и местоположение отдельного элемента, а можно настроить сразу несколько элементов так, чтобы они были одинакового размера и чтобы были расположены на форме ровно и на равном расстоянии друг от друга. От этого форма сразу приобретет привлекательный вид, и работать с ней будет намного удобнее.
Перемещение и изменение размеров элемента управления производится следующим образом.
Замечание
Если элемент управления не имеет связанной с ним метки, его можно перетаскивать также за маркер перемещения, находящийся в левом верхнем углу элемента управления.
Есть еще один способ изменения размеров выделенного элемента управления: с помощью команд меню Формат, Размер, По размеру данных (Format, Size, To Fit) и Формат, Размер, По узлам сетки (Format, Size, To Grid). С помощью первой команды можно автоматически изменить размеры элемента в соответствии с размером отображаемых в нем данных. К примеру, для текстового поля меняется размер по вертикали в зависимости от заданного размера шрифта для текста. Вторая команда выполняет автоматическое изменение размеров и положения элемента так, чтобы его границы лежали на ближайших линиях, соединяющих узлы сетки. Действие этой команды заметно, если элементы имеют такие размеры, что их границы лежат между узлами сетки, например, когда первоначальные размеры элементов устанавливались при отключенном режиме выравнивания элементов по сетке (о выравнивании по сетке рассказано в следующих разделах).
В Access есть замечательное средство, позволяющее практически в одно действие оформить всю форму сразу, включая ее элементы, которое получило название
автоформат
(AutoFormat). Автоформат — это набор параметров оформления формы и ее элементов, который можно применить для форматирования формы. В составе Access 2002 есть несколько встроенных автоформатов, но пользователю также предоставляется возможность создать собственные.
Чтобы применить к форме, открытой в режиме Конструктора, один из имеющихся автоформатов:
Замечание
Если вы хотите применить автоформат только к отдельным элементам формы, то выделите их, а не всю форму (в предыдущих разделах мы уже рассказали о том, как выделить один или несколько элементов управления на форме).
Замечание
Можно применить к форме только часть автоформата, исключив применение таких параметров автоформата, как шрифт, цвет и оформление границ элементов управления. Для этого, прежде чем нажимать кнопку ОК в диалоговом окне Автоформат, нажмите кнопку Параметры (Options). В раскрывшейся нижней части диалогового окна сбросьте флажки для тех параметров формата, которые вы хотели бы оставить в текущей форме прежними: шрифт (Font), цвет (Color) или границы (Border).
Добавление, удаление и редактирование записей с помощью формы происходит при работе с ней в режиме Формы или в режиме Таблицы. Все же режим Формы более функционален по сравнению с режимом Таблицы. Работа с формой в режиме Таблицы ничем не отличается от работы с обычными таблицами Access (см. главу 2). А вот в режиме Формы представление и автоматическая обработка данных отличаются более широкими возможностями. В этой главе мы расскажем об основных приемах работы в режиме Формы. Специальные возможности этого режима, включающие автоматическую обработку введенных данных с помощью процедур обработки событий и вычисляемых полей, рассмотрены в части 11 книги (см. главу 9).
Разработку структуры формы, того, как она будет выглядеть в режиме Таблицы и режиме Формы, можно выполнить только в
режиме Конструктора.
В этом режиме можно изменить источник данных для формы, количество отображаемых полей, внешний вид формы и элементов управления, добавить или удалить элементы управления, настроить их свойства.
Панель инструментов
Панель элементов
(Toolbox) (см. рис. 5.8), отображаемая в режиме Конструктора, позволяет создавать элементы управления, при этом некоторые элементы управления можно создавать с помощью Мастера элементов, осуществляющего пошаговое руководство этим процессом.
К форме можно применить один из предлагаемых Access стилей оформления для быстрой и качественной настройки ее внешнего вида. Более того, Access 2002 позволяет создавать свои собственные стили оформления и применять их к другим формам. Все это выполняется с помощью диалогового окна
Автоформат
(Auto Format), которое описано
в разд. "Применение автоформата" данной главы.
Чтобы создать пустую форму, не пользуясь автоматическим созданием форм и Мастером форм, в окне базы данных щелкните по ярлыку
Формы
(Forms), нажмите кнопку
Создать
(New) на панели в окне базы данных, в появившемся диалоговом окне
Новая форма
(New Form) выделите элемент
Конструктор
(Design View) и нажмите кнопку
ОК.
То же самое можно сделать, просто дважды щелкнув по ярлыку
Создание формы в режиме конструктора
(Create form in Design view), находящемуся перед списком существующих форм в базе данных.
Можно использовать созданную ранее форму "Форма_Товар" для проведения экспериментов, связанных с изменением внешнего вида формы. Однако не стоит сохранять измененную форму, чтобы не испортить ее первоначальный вид. Или прежде чем проводить эксперименты, создайте копию исходной формы.
Работа с формами Access 2002 может происходить в пяти режимах: в режиме Формы, в режиме Таблицы, в режиме Конструктора, в режиме Сводной таблицы и в режиме Сводной диаграммы. Выбрать режим работы можно либо с помощью кнопки
Вид
(View) на панели инструментов текущего режима работы с формой (например,
Конструктор форм
(Form Design) — одна из таких панелей), либо с помощью соответствующей команды меню
Вид
(View).
Режим Формы
является "рабочим" для пользователя базы данных. В этом режиме осуществляются просмотр и редактирование записей, удаление записей или добавление новых. Таким способом пользователь работает с таблицей или запросом, являющимися источниками данных для формы. Чаще всего пользователи приложений Access 2002 работают с формами именно в этом режиме. В этом же режиме по умолчанию открывается форма из окна базы данных. Если форма была открыта в другом режиме, то для перехода в режим Формы выберите команду
Вид, Режим формы
(View, Form View) или нажмите на стрелку, расположенную справа от кнопки
Вид
(View) на панели инструментов и в открывшемся списке выберите элемент
Режим формы
(Form View). На рис. 5.6 показана форма, создание которой описано в предыдущем разделе, открытая в режиме Формы.
В результате будет автоматически создана и открыта форма выбранного вида. Чтобы созданную форму можно было использовать в дальнейшем, ее необходимо сохранить. Для сохранения формы выберите команду
Файл, Сохранить
(File, Save) или нажмите на кнопку
Сохранить
(Save) на панели инструментов
Режим формы
(Form View). В поле
Имя формы
(Form Name) появившегося диалогового окна
Сохранение
(Save As) введите нужное название и нажмите кнопку
ОК.
Cовет
Для любой формы можно изменить ее представление, определяющее режим отображения данных. В окне свойств формы можно выбрать один из пяти вариантов:
Одиночная форма
(Single Form),
Ленточные формы
(Continuous Form),
Режим таблицы
(Datasheet),
Сводная таблица
(PivotTable) и
Сводная диаграмма
(PivotChart). Чтобы изменить режим отображения данных, откройте форму в режиме Конструктора, затем откройте окно свойств формы (как это сделать, описано в разд. "Выделение формы и элементов управления и отображение окна свойств" данной главы) и выберите соответствующий элемент в раскрывающемся списке
Режим по умолчанию
(Default View).
Замечание
Попробуйте создать ленточную форму и оформить ее подходящим образом с помощью форматирования элементов управления. Вы увидите, что в хорошо оформленной ленточной форме данные просматривать намного удобнее, чем в табличной форме. Вид
выровненный
аналогичен виду
ленточный,
но отличается тем, что все поля записи будут отображены на одной странице.
После выбора подходящего режима отображения данных в форме нажмите кнопку
Далее
для отображения следующего диалогового окна Мастера форм.
В результате мастером будет создана форма в соответствии с выбранными параметрами и сохранена с указанным именем, затем эта форма будет открыта в заданном режиме. На рис. 5.6 представлена созданная форма, открытая в режиме Формы.
Созданная с помощью мастера форма "Форма_Сотрудники" готова к использованию. Однако можно улучшить ее внешний вид, изменив некоторые параметры оформления. В следующих разделах приведены примеры изменения формы в режиме Конструктора.
Для пользователя может оказаться удобным работать с формой в режиме Таблицы. В этом режиме, как и в режиме Формы, можно просматривать и редактировать, добавлять и удалять записи в таблице или запросе, являющемся источником данных для формы. Однако в этом режиме не применяются параметры форматирования элементов управления. Чтобы перейти в режим Таблицы, выберите команду
Вид, Режим таблицы
(View, Datasheet View) или нажмите на стрелку, расположенную справа от кнопки
Вид
(View) панели инструментов и в открывшемся списке выберите элемент
Режим таблицы
(Datasheet View). На рис 5.7 показана форма, создание которой описано в предыдущем разделе, открытая в режиме Таблицы.
В любое время можно настроить различные свойства формы, изменить ее внешний вид, структуру и функциональность, работая с ней в режиме Конструктора. Этим режимом обычно пользуются разработчики. Чтобы перейти в режим Конструктора, выберите команду
Вид, Конструктор
(View, Design View) или нажмите на стрелку, расположенную справа от кнопки Вид (View) на панели инструментов, и в открывшемся списке выберите элемент
Конструктор
(Design View). На рис. 5.8 показана форма, создание которой описано в предыдущем разделе, открытая в режиме Конструктора.
Разработчики и пользователи Access могут работать с формой еще в двух новых режимах, появившихся в версии Access 2002: в режиме Сводной таблицы или режиме Сводной диаграммы. Но эти режимы мы рассмотрим в части If книги.
Из всех перечисленных разделов обязательным является только раздел области данных. Высоту области любого раздела формы можно изменить с помощью мыши, перетаскивая нижнюю часть раздела вверх или вниз.
Замечание
Хотя форма, изображенная на рис. 5.8, имеет оба раздела заголовка и примечания формы, эти области не отображаются в режиме Формы, поскольку оба раздела имеют нулевую высоту. При создании новой пустой формы при помощи Конструктора форм разделы заголовка и примечания не добавляются.
Для добавления или удаления разделов заголовка и примечания формы выберите команду
Вид, Заголовок/примечание формы
(View, Form Header/Footer). Если форма уже содержит эти разделы, то команда
Заголовок/примечание формы
будет отмечена флажком. Для удаления разделов заголовка и примечания формы сбросьте этот флажок.
Для добавления или удаления разделов верхнего и нижнего колонтитулов страницы выберите команду
Вид, Колонтитулы
(View, Page Header/Footer). Если форма уже содержит эти разделы, то команда
Колонтитулы
будет отмечена флажком. Для удаления разделов верхнего и нижнего колонтитула страницы сбросьте этот флажок.
Замечание
Если разделы заголовка и примечания формы или разделы верхнего и нижнего колонтитулов содержат текст либо другие элементы управления формы, то перед попыткой удалить эти разделы будет отображено диалоговое окно, предупреждающее об удалении содержимого заголовка и примечания.
Высоту раздела формы можно изменить, перетаскивая границу раздела при помощи мыши. Для этого поместите указатель мыши над границей раздела так, чтобы он принял вид горизонтальной черты с двумя вертикальными стрелками. Нажмите левую кнопку мыши и перетащите границу раздела для получения нужного размера.
Высота раздела области данных определяется вертикальным размером окна формы, а также размером заголовка и примечания формы. Для изменения высоты раздела области данных переместите его нижнюю границу при помощи мыши вверх (для уменьшения высоты) или вниз (для увеличения). В режиме Формы вертикальная полоса прокрутки в окне формы появляется только для просмотра раздела области данных.
Кроме групп элементов, для предоставления выбора значения какого-либо параметра из заданного набора можно использовать элементы управления
Список
(List Box) или
Поле со списком
(Combo Box). Ввести значение в поле со списком можно двумя способами: ввести значение в поле или выбрать значение в раскрывающемся списке.
Когда требуется выбрать одно из нескольких возможных значений, пользователю намного удобнее работать со списком или группой элементов, чем с текстовым полем. Во-первых, чтобы сделать выбор, пользователю не нужно вводить значение полностью, а достаточно лишь щелкнуть кнопкой мыши, чтобы выделить нужный элемент. Во-вторых, нет необходимости помнить все допустимые при выборе значения, поскольку они явно перечислены в элементах группы или списка. Поэтому, чтобы сделать интерфейс приложения более удобным для пользователя, используйте в формах группы или списки вместо текстовых полей всегда, когда нужно обеспечить выбор одного из нескольких значений. А также используйте отдельные флажки, выключатели или переключатели вместо текстовых полей, когда требуется предоставить пользователю выбор между альтернативами "да" — "нет" для заданных параметров.
Для добавления большинства других типов элементов управления (выключателей, переключателей, флажков) в форму используется процесс, описанный выше. Некоторые кнопки панели элементов, например
Список
(List Box) или
Поле со списком
(Combo Box), при создании элемента управления вызывают Мастер элементов, если кнопка
Мастера
(Control Wizards) нажата.
Чтобы создать элемент управления
Список
с помощью мастера:
Вместе с перемещением указателя мыши будет изменяться и контур списка. Число строк и количество символов текущего типа шрифта, которые может отобразить список, выводятся в строке состояния.
Замечание
Список может также содержать набор фиксированных значений, который мастер предоставит возможность перечислить, или список значений одного из полей таблицы или запроса, являющегося для формы базовым.
Совет
Довольно часто при разработке формы для ускорения процесса перехода по большому количеству записей возникает потребность в создании специального поля со списком, при выборе элемента, в котором в форме будет отображаться соответствующая запись из источника данных. В Access 2002 с помощью мастера можно создать список или поле со списком специально для поиска нужной записи в форме. Для этого следует выбрать соответствующий переключатель в первом диалоговом окне мастера такого элемента: например для списка — Поиск записи в форме на основе значения, которое содержит список (Find a record on my form based on the value I selected in my list box). Этот переключатель отображается в случае, если для формы задан источник записей: таблица или запрос. В режиме Формы выделение элемента в этом списке будет приводить к переходу на соответствующую запись в форме. Переход реализуется с помощью процедуры обработки события После обновления (After Update), созданной мастером.
При создании таких элементов управления без помощи Мастера элементов свойства создаваемых элементов нужно настраивать вручную с помощью окна свойств элемента управления. Чтобы открыть окно свойств какого-либо элемента управления формы, выделите его и нажмите кнопку
Свойства
(Properties) на панели инструментов
Конструктор форм
(Form Design) либо дважды щелкните по элементу управления. На рис. 5.19 изображено окно свойств списка.
Рис. 5.19. Окно свойств списка
Чтобы создать элемент управления, связанный с каким-либо полем источника данных разрабатываемой формы:
Замечание
Текстовые поля, флажки, переключатели и кнопки имеют связанные с ними метки. При выделении таких элементов управления и метка и элемент управления выделяются одновременно.
Теперь можно переместить выделенную группу элементов управления, зацепив указателем мыши границу одного из них и перетащив всю группу на новое место.
Замечание
При выделении или отмене выделения элемента управления со связанной меткой вместе с выделением элемента управления устанавливается или отменяется выделение метки.
Чтобы создать собственный автоформат, необходимо оформить в требующемся стиле любую форму, котррая послужит образцом для создания автоформата:
Таким образом будет создан новый автоформат с именем "Мой стиль" на основе формата открытой в данный момент формы. Этот автоформат появится в списке рядом с другими автоформатами Access.
Чтобы удалить ставший ненужным автоформат, выделите его в списке в диалоговом окне
Автоформат
и нажмите кнопку
Настройка.
Выберите переключатель
удаление стиля <имя автоформата>
(Delete <имя автоформата>). Если же требуется всего лишь обновить параметры выбранного автоформата на основе формата текущей формы, выберите в этом диалоговом окне переключатель
обновление стиля <имя автоформата> с атрибутами объекта: <имя текущей формы>
(Update <имя автофор-мата> with values from the Form <имя текущей формы>) и нажмите кнопку OK, a затем — кнопку
Закрыть,
чтобы закрыть диалоговое окно
Автоформат.
Замечание
Access 2002 не запрашивает подтверждение на удаление автоформата, поэтому убедитесь в правильности выбора удаляемого автоформата перед тем, как нажать кнопку ОК.
В отличие от цветов фона, фоновый рисунок распространяется на все разделы формы. Чтобы удалить фоновый рисунок, просто удалите содержимое текстового поля свойства
Рисунок.
Кроме того, с помощью свойств, сгруппированных на вкладке
Макет
окна свойств формы, можно настроить отображение фонового рисунка. Свойство
Тип рисунка
(Picture Type) определяет метод, используемый Access для присоединения рисунка к форме. Выберите в раскрывающемся списке этого свойства элемент
Внедренный
(Embedded), если предполагается распространение приложения между пользователями и форма не должна использовать внешних файлов, которые могут быть перемещены или удалены. Если же имеется много форм, использующих один и тот же фоновый рисунок, то в раскрывающемся списке выберите элемент
Связанный
(Linked), что позволит уменьшить использование дискового пространства путем включения фонового рисунка в форму при помощи связи с файлом рисунка.
С помощью свойства
Масштабы рисунка
(Picture Size Mode) можно определить размеры фонового рисунка. Для вывода рисунка в исходных размерах, в раскрывающемся списке этого свойства выберите элемент
Фрагмент
(Clip). При выборе значения
Вписать в рамку
(Stretch) рисунок растягивается или сжимается по горизонтали и по вертикали до размеров формы; при этом возможно изменение пропорций рисунка. Выбор значения
По размеру рамки
(Zoom) приведет к растяжению или сжатию рисунка с сохранением пропорций до максимально возможных размеров, при которых не происходит обрезка рисунка.
Чтобы определить положение фонового рисунка, выберите один из следующих элементов раскрывающегося списка свойства
Выравнивание рисунка
(Picture Alignment):
Сверху слева
(Top Left),
Сверху справа
(Top Right),
По центру
(Center),
Снизу слева
(Bottom Left),
Снизу справа
(Bottom Right) либо
По центру формы
(Form Center).
Замечание
Чтобы фоновый рисунок центрировался относительно формы, а не окна формы, установите для свойства
Выравнивание рисунка
значение
По центру формы, а не По центру.
Если свойство
Мозаичное заполнение
(Picture Tiling) имеет значение Да (Yes), то в окне формы или во всей форме (в зависимости от значения свойства
Выравнивание рисунка)
выводится повторяющееся изображение рисунка.
После изменения значения свойства результат этого изменения немедленно отображается в форме.
Задать параметры форматирования элемента управления в диалоговом окне
Условное форматирование
для случаев выполнения условий и случая форматирования по умолчанию позволяют кнопки, аналогичные кнопкам форматирования на панели инструментов
Формат (форма/отчет).
После задания всех параметров форматирования нажмите кнопку
ОК.
Средство форматирования по условию очень удобно применять, например, для отображения денежных сумм, т. к. легко будет заметить выделенные особым стилем цифры той суммы, что вышла за пределы допустимого интервала.
Например, откройте в режиме Конструктора форму "Подчиненная форма заказов" (Orders Subform) демонстрационной базы данных "Борей" и разверните ее на весь экран с помощью маленькой кнопки
Развернуть
(Maximize) в правом верхнем углу окна формы. Выделите поле "Отпускная цена" (ExtendedPrice) и отобразите диалоговое окно
Условное форматирование.
В самом левом раскрывающемся списке в группе параметров
Условие 1
(Condition 1) выберите элемент
Значение поля
(Field Value Is), в следующем раскрывающемся списке выберите элемент
больше
(greater then) и в следующем текстовом поле введите константу или выражение, например 5* [Цена] (или 5*UnitPrice — для английской версии). В списке цветов кнопки
Цвет текста
(Font/Fore Color) в группе параметров
Условие 1
данного диалогового окна выберите красный цвет. Нажмите кнопку ОК.
Это значит, что если полная стоимость заказа продукта превысит пятикратную цену продукта, т. е. когда продукт заказан в количестве свыше пяти, значение поля "Отпускная цена" выделится шрифтом красного цвета. Это мы сможем наблюдать, открыв в режиме Формы форму "Заказы" (Orders), подчиненную форму которой мы редактировали в данном примере.
Замечание
Вычисление условий может потребовать некоторого времени, поэтому отображение форматирования тех элементов, для которых условие выполнилось, может произойти с небольшой задержкой.
Если хотите точно задать цвет, введите тройку его числовых параметров:
Оттенок/Контрастность/Яркость
(Hue, Saturation, Luminosity) или
Красный/Зеленый/Синий
(Red, Green, Blue). Параметр оттенок может принимать значение в интервале от 0 до 239, а параметры контрастность и яркость — в интервале от 0 до 240. Каждый из параметров
Красный/Зеленый/Синий
может принимать значение в интервале от 0 до 255.
Замечание
При создании форм, предназначенных для ввода данных, рекомендуется использовать не очень яркие цвета, которые не приводят к повышенному утомлению глаз и не мешают воспринимать данные.
При работе в режиме Конструктора для сохранения ранее созданной формы под тем же именем достаточно просто нажать кнопку
Сохранить
(Save) на панели инструментов
Конструктор форм
(Form Design).
Форма Access 2002 может быть сохранена в трех форматах: в формате формы, в формате отчета и в формате страницы доступа к данным. Чтобы сохранить форму в одном из этих форматов:
Форма, сохраненная как страница, помещается в список объектов Страницы (Pages), отображаемый в окне базы данных. В дальнейшем эту страницу можно использовать в документах Интернета. Форма, сохраненная как отчет, помещается в список объектов Отчеты (Reports), отображаемый в окне базы данных. Форма, сохраненная как форма, остается в списке объектов Формы (Forms) базы данных и в дальнейшем -может использоваться по назначению, т. е. для ввода и редактирования записей таблицы или запроса.
Теперь кнопка
Новая запись
(New Records), как на панели инструментов
Режим формы
(Form View), так и внизу окна формы, будет заблокирована, и добавление новых записей в таблицу с помощью формы будет невозможно.
Чтобы при добавлении новой записи какое-либо поле формы имело заранее заданное значение:
Теперь в каждой новой записи выделенное вами поле будет иметь по умчанию введенное значение. Это значение можно изменять в новой записи, если свойство Блокировка (Locked) данного поля имеет значение Нет (No). Подробнее об этом рассказано в следующем разделе.
Если вы не знаете порядкового номера нужной записи, то для ее поиска можно использовать кнопку
Найти
(Find) панели инструментов
Режим формы
(Form View). Если необходимо, чтобы записи были упорядочены по значению какого-либо поля, выделите его, а затем нажмите кнопку
Сортировка по возрастанию
(Sort Ascending) или
Сортировка по убыванию
(Sort Descending) на панели инструментов
Режим формы.
Найдите нужную запись с помощью описанных выше методов и приступайте к ее редактированию. Перемещение между текстовыми полями, используемыми для редактирования данных, в форме происходит аналогично тому, как это делается в запросах и таблицах, за исключением того, что клавиши перемещения курсора вверх и вниз перемещают курсор между полями, а не между записями. В текстовые поля введите нужные значения, используя стандартные методы редактирования, а в раскрывающихся списках или полях со списками с помощью мыши выберите необходимые элементы так же, как и в стандартных диалоговых окнах Windows. Для сохранения введенных значений нажмите комбинацию клавиш <Shift>+<Enter>.
Чтобы запретить редактирование записи таблицы с помощью формы:
Теперь редактирование записей, содержащихся в таблице, с помощью формы будет невозможно. Однако, если свойство формы
Разрешить добавление
(Allow Additions) имеет значение Да (Yes), то с помощью этой формы можно не только просматривать записи таблицы, но и добавлять новые.
Чтобы запретить редактирование какого-либо конкретного поля записи:
Если необходимо запретить редактирование нескольких полей записи, то повторите описанную выше процедуру для всех полей. Теперь значения указанных вами полей нельзя будет изменить, а в новых записях нельзя будет ввести в них значение.
Замечание
Чтобы какое-либо поле формы имело заранее заданное значение, которое нельзя было бы изменить, укажите для этого поля формы нужное значение в свойстве Значение по умолчанию (Default Value) и установите значение свойства Блокировка (Locked) равным Да (Yes).
В противном случае при попытке удалить запись будет отображено другое сообщение, предупреждающее о том, что невозможно удалить запись, т. к. она содержит связанные с ней записи в других таблицах, с указанием таблицы, содержащей связанные записи. Это следствие использования средства Access, обеспечивающего автоматическую поддержку целостности данных
(см. разд. "Поддержка целостности данных" в гл. 2).
В данном случае, прежде чем удалить такую запись, необходимо сначала удалить все записи, связанные с ней, из других таблиц.
Для сохранения только что созданной или отредактированной формы, открытой в режиме Конструктора, выберите команду
Файл, Сохранить
(File, Save) или нажмите кнопку
Сохранить
(Save) на панели инструментов
Конструктор форм
(Form Design). Если форма была создана и сохраняется в первый раз, появится диалоговое окно
Сохранение
(Save As) с полем для ввода имени новой формы Имя формы (Form Name) (рис. 5.28). Введите имя новой формы и нажмите кнопку
ОК.
Еще одним достаточно простым и удобным способом создания элементов управления является использование списка полей.
Надпись — самый простой для использования тип элементов управления панели элементов. Для добавления надписи в какой-либо раздел формы:
Вместе с перемещением указателя мыши будет изменяться и контур надписи. Число строк и количество символов текущего типа шрифта, которые может отобразить надпись, выводятся в строке состояния.
После добавления элемента управления для его перемещения и изменения размеров используются угловой маркер перемещения и маркеры изменения размеров. Положение углового маркера перемещения определяет значения свойств элемента управления
От левого края
(Left) и
От верхнего края
(Тор). Маркеры изменения размеров устанавливают значения свойств элемента управления
Ширина
(Width) и
Высота
(Height).
Access 2002 позволяет организовать удобный и интуитивно понятный интерфейс пользователя для работы с данными с помощью
форм.
Формами называются настраиваемые диалоговые окна, сохраняемые в базе данных в виде объектов специального типа. Формы Access являются объектами базы данных, так же как таблицы и запросы. Формы используются в приложении для ввода и отображения данных. Формами можно управлять программно с помощью процедур на VBA.
Формы предоставляют более удобный способ просмотра и правки данных в таблицах, чем режим/Таблицы. Формы содержат так называемые
элементы управления,
с помощью которых осуществляется доступ к данным в таблицах. Элементами управления являются текстовые поля для ввода и правки данных, кнопки, флажки, переключатели, списки, надписи, а также рамки объектов для отображения графики и объектов OLE. Создание форм, содержащих необходимые элементы управления, существенно упрощает процесс ввода данных и позволяет предотвратить ошибки.
Формы Access 2002 предоставляют функциональные возможности для выполнения многих задач, которые нельзя выполнить другими средствами. Формы позволяют выполнять проверку корректности данных при вводе, проводить вычисления, и обеспечивают доступ к данным в связанных таблицах с помощью подчиненных форм.
В этой главе обсуждаются следующие вопросы:
Другим простым и быстрым способом создания формы является использование Мастера форм. С помощью мастера можно создавать формы на основе одной таблицы и более сложные формы на основе нескольких таблиц и запросов, имеющие подчиненные формы. Намного проще и быстрее создавать формы с помощью мастера, а затем усовершенствовать их в режиме Конструктора. Поэтому Мастер форм полезен не только начинающим пользователям, но и профессиональным разработчикам.
Мастер форм разбивает процесс создания формы на несколько этапов. На каждом этапе требуется установить определенные параметры в одном из диалоговых окон мастера, каждое из которых определяет один шаг создания формы. Если на каком-нибудь шаге была допущена ошибка или возникла необходимость изменения каких-либо установленных параметров, для возвращения к предыдущему шагу нажмите кнопку
Назад
(Back). Кроме того, в любой момент можно нажать кнопку
Отмена
(Cancel) для отказа от создания формы и возвращения к окну базы данных.
Чтобы лучше представить, как создавать простые формы с помощью Мастера форм, опишем процедуру создания формы "Сотрудники" (Employees) для базы данных "Борей" (Northwind). Источником данных для этой формы будет таблица "Сотрудники" (Employees). Эта форма предназначена для ввода и редактирования информации о сотрудниках компании. Чтобы с помощью мастера создать простую форму, не содержащую подчиненных форм:
Access 2002 предоставляет два простых метода создания элементов управления: с помощью панели инструментов Панель элементов (Toolbox) и с помощью кнопки Список полей (Field List). Кроме того, при создании элементов управления с помощью панели элементов можно воспользоваться Мастером элементов, позволяющим пройти шаг за шагом процесс создания более сложных элементов управления, например таких как списки, поля со списком и группы элементов управления.
Структура формы такова: макет формы состоит из разделов. Любая форма может включать следующие разделы:
Разделы формы в режиме Конструктора представлены на рис. 5.9. Чтобы надписи, обозначающие разделы формы, были лучше видны, мы скрыли сетку, облегчающую разметку формы (сетка видна на рис. 5.8), с помощью команды меню
Вид, Сетка
(View, Grid).
Кнопка
|
Описание
|
Команда меню
|
||
Вид (View), элемент списка Режим формы (Form View) | Отображение формы в режиме Формы. Чтобы открыть форму в режиме Таблицы, нажмите стрелку справа от кнопки и в появившемся списке выделите элемент Режим таблицы (Datasheet View) |
Вид, Режим формы (View, Form View) |
||
Сохранить (Save) |
Сохранение активной формы |
Файл, Сохранить
(File, Save) |
||
Найти (Search) |
Отобразить панель поиска документов Microsoft Office |
Файл, Найти
(File, Search) |
||
Печать (факс) (Print (Fax)) |
Печать или отправка по факсу содержимого активной формы с текущими параметрами печати без открытия диалогового окна Печать (Print) |
Нет |
||
Предварительный просмотр
(Print Preview) |
Предварительный просмотр формы перед печатью. Форма может быть напечатана из окна предварительного просмотра |
Файл, Предвари* тельный просмотр
(File, Print Preview) |
||
Вырезать (Cut) |
Удаление выделенных объектов из формы в буфер обмена Windows |
Правка, Вырезать
(Edit, Cut) |
||
Копировать (Сору) |
Копирование выделенных объектов формы в буфер обмена |
Правка, Копировать (Edit, Copy) |
||
Вставить (Paste) |
Вставка содержимого буфера обмена в форму |
Правка, Вставить
(Edit, Paste) |
||
Формат по образцу (Format Painter) |
Копирование параметров форматирования из одного выделенного объекта в другой такого же типа |
Нет |
||
Отменить (Undo) |
Отмена последнего действия |
Правка, Отменить
(Edit, Undo) |
||
Вернуть (Redo) |
Повторить выполнение последнего отмененного действия |
Правка, Вернуть
(Edit, Redo) |
||
Добавление гиперссылки (Insert Hyperlink) |
Вставка в форму гиперссылки |
Вставка, Гиперссылка
(Insert, Hyperlink) |
||
Список полей
(Field List) |
Вывод списка полей, содержащихся в базовом источнике записей (запросе или таблице) основной формы |
Вид, Список полей
(View, Field List) |
||
Панель элементов
(Toolbox) |
Отображение или скрытие панели элементов |
Вид, Панель элементов (View, Toolbox) |
||
Автоформат
(AutoFormat) |
Выбор заранее определенных форматов для форм, включая такие характеристики, как сроновый рисунок для форм и шрифты для элементов управления |
Формат, Автоформат (Format, AutoFormat) |
||
Программа (Code) |
Открытие модуля процедур обработки событий формы в окне редактора VBA |
Вид, Программа
(View, Code) |
||
Кнопка
|
Описание
|
Команда меню
|
||
Свойства
(Properties) |
Открытие окон свойств выделенных объектов: формы, раздела (например, верхнего или нижнего колонтитула), а также элементов управления |
Вид, Свойства
(View, Properties) |
||
Построить (Build) |
Вызов Построителя для выделенного элемента или свойства в форме, если Построитель есть |
Нет |
||
Окно базы данных
(Database Window) |
Отображение окна базы данных |
Окно, 1 (Window, 1) |
||
Новый объект
(New Object) |
Создание нового объекта базы данных. Чтобы выбрать тип создаваемого объекта, нажмите стрелку справа от кнопки |
Нет |
||
Справка по Microsoft Access
(Microsoft Access Help) |
Вызов Помощника и получение справки по Microsoft Access 2002 |
Справка, Справка по Microsoft Access (Help, Microsoft Access Help) |
||
Кнопка
|
Описание
|
Свойство и значение
|
||
Объект (Object) |
Имя выделенного объекта |
Имя (Name) = = <имя объекта> |
||
Шрифт (Font) |
Шрифт текста в элементе |
Шрифт (Font Name) = = <имя шрифта> |
||
Размер (Font Size) |
Размер шрифта текста в элементе |
Размер шрифта (Font Size) = <число> |
||
Полужирный
(Bold) |
Форматирование текста выделенного элемента управления полужирным шрифтом |
Насыщенность (Font Weight) = Полужирный
(Semi-bold) |
||
Курсив (Italic) |
Форматирование текста выделенного элемента управления курсивом |
Курсив (Font Italic) = Да (Yes) |
||
Подчеркнутый
(Underline) |
Делает текст элемента управления подчеркнутым |
Подчеркнутый (Font Underline) = Да (Yes) |
||
По левому краю
(Align Left) |
Выравнивание текста по левому краю |
Выравнивание текста (Text Align) = По левому краю (Left) |
||
По центру (Center) |
Выравнивание текста по центру |
Выравнивание текста (Text Align) = По центру (Center) |
||
По правому краю
(Align Right) |
Выравнивание текста по правому краю |
Выравнивание текста (Text Align) = По правому краю (Right) |
||
Цвет заливки/фона
(Fill/Back Color) |
Открывает палитру, содержащую образцы цветов для фона выделенного обьекта или раздела формы |
Цвет фона (Back Color) = = <номер> |
||
Цвет текста
(Font/Fore Color) |
Открывает палитру, содержащую образцы цветов текста выделенного элемента управления формы |
Цвет текста (Fore Color) = = <номер> |
||
Цвет линии/границы
(Line/Border Color) |
Открывает палитру, содержащую образцы цветов границы выделенного элемента управления формы |
Цвет границы (Border Color) = <номер> |
||
Толщина линии/границы
(Line/Border Width) |
Открывает палитру образцов ширины границы для выделенного элемента управления. Ширина границы может быть установлена сверхтонкой или толщиной от 1 до 6 пунктов |
Ширина границы (Border Width) = <ширина> |
||
Оформление
(Special Effect) |
Открывает панель стилей оформления элементов управления, предназначенных для оформления выделенного обьекта. Можно выбрать обычное пред- |
Оформление (Special Effect) = <оформление> |
||
|
ставление элемента управления, с тенью, приподнятое, утопленное, вдавленное или рельефное |
|
||
Свойство
|
Описание
|
Возможные значения
|
||
Тип границы
(Border Style) |
Определяет вид линий, образующих границу элемента управления формы |
Отсутствует (Transparent); Сплошная (Solid); Штриховая (Dashes); Пунктирная (Short Dashes); Точечная (Dots); Редкото-чечная (Sparse Dots); Штрих-пунктирная (Dash Dot); Штрих-точечная (Dash Dot Dot) |
||
Цвет границы
(Border Color) |
Указывает цвет границы |
Номер цвета |
||
Ширина границы
(Border Width) |
Определяет ширину границы |
Сверхтонкая (Hairline) или толщиной от 1 до 6 пунктов |
||
Хотя все параметры форматирования элемента управления формы можно установить в окне свойств, все же более удобным и наглядным способом настройки элемента управления является использование панели инструментов
Формат (форма/отчет)
(Formatting (Form/Report)).
Чтобы изменить цвет текста, а также цвет или ширину границы, используя кнопки этой панели инструментов, сначала выделите элемент управления, параметры которого необходимо изменить, а затем щелкните по стрелке, расположенной справа от соответствующей кнопки панели инструментов
Формат (форма/отчет),
например кнопки
Цвет текста
(Font/Fore Color). В появившейся палитре выберите нужный цвет или ширину границы для элемента управления.
Обратите внимание на то, что изменить цвета текста и границы (свойства
Цвет текста
(Fore Color) и
Цвет линии/границы
(Line/Border Color)) можно только у элементов управления формы. При выделенном каком-либо разделе формы кнопки
Цвет
текста и Цвет линии/границы
панели инструментов
Формат (форма/отчет)
недоступны. По умолчанию в качестве цвета текста и цвета границы элементов управления используется черный цвет. Выбор цвета границы элемента управления осуществляется с помощью кнопки
Цвет линии/границы
на панели инструментов
Формат (форма/отчет).
С помощью кнопки
Оформление
(Special Effects) панели инструментов
Формат (форма/отчет)
можно создавать специальные эффекты отображения элементов управления, например приподнятые или "утопленные" текстовые поля. Чтобы определить ширину границы элементов управления, воспользуйтесь кнопкой
Толщина Линии/границы
(Line/Border Width). Функции всех кнопок панели инструментов
Формат (форма/отчет)
были описаны в табл. 5.2 этой главы.
Кнопка
|
Описание
|
Команда меню
|
||
Вид
(View) |
Переход в режим Конструктора или другой режим |
Вид, Конструктор форм
(View, Form Design) |
||
Сохранить
(Save) |
Сохранение структуры формы |
Файл, Сохранить
(File, Save) |
||
Найти
(Search) |
Отобразить панель поиска документов Microsoft Office |
Файл, Найти
(File, Search) |
||
Кнопка
|
Описание
|
Команда меню
|
||
Печать (факс)
(Print (Fax)) |
Печать или отправка по факсу содержимого активной формы с текущими параметрами печати без открытия диалогового окна Печать (Print) |
Нет |
||
Предварительный просмотр
(Print Preview) |
Предварительный просмотр формы перед печатью |
Файл, Предварительный просмотр
(File, Print Preview) |
||
Орфография
(Spelling) |
Проверка орфографии в выделенном поле |
Сервис, Орфография
(Tools, Spelling) |
||
Вырезать
(Cut) |
Удаление выделенных объектов из формы в буфер обмена |
Правка, Вырезать
(Edit, Cut) |
||
Копировать
(Сору) |
Копирование выделенных обьектов из формы в буфер обмена |
Правка, Копировать
(Edit, Copy) |
||
Вставить
(Paste) |
Вставка содержимого буфера обмена в форму |
Правка, Вставить (Edit, Paste) |
||
Отменить ввод
(Undo typing) |
Отмена последнего изменения записи |
Правка, Отменить ввод
(Edit, Undo typing) |
||
Добавление гиперссылки
(Insert Hyperlink) |
Вставка в форму гиперссылки |
Вставка, Гиперссылка
(Insert, Hyperlink) |
||
Сортировка по возрастанию
(Sort Ascending) |
Сортировка таблицы по возрастающим значениям текущего поля |
Записи, Сортировка, Сортировка по возрастанию (Records, Sort, Ascending) |
||
Сортировка по убыванию
(Sort Descending) |
Сортировка таблицы по убывающим значениям текущего поля |
Записи, Сортировка, Сортировка по убыванию (Records, Sort, Descending) |
||
Фильтр по выделенному
(Filter by Selection) |
Фильтрация записей по выделенному фрагменту |
Записи, Фильтр, Фильтр по выделенному (Records, Filter, Filter by Selection) |
||
Изменить фильтр
(Filter by Form) |
Фильтрация записей на основании критерия отбора, введенного в поля формы |
Записи, Фильтр, Изменить фильтр (Records, Filter, Filter by Form) |
||
Применение фильтра
(Apply Filter) |
Применение фильтра. Чтобы удалить фильтр, нажмите эту кнопку еще раз |
Записи, Применить фильтр (Records, Apply Filter/Sort) или Записи, Удалить фильтр
(Records, Remove Filter/Sort) |
||
Кнопка
|
Описание
|
Команда меню
|
||
Найти
(Find) |
Поиск вхождения заданной подстроки в выделенном поле или во всех полях таблицы. Отображает на экране диалоговое окно Поиск |
Правка, Найти
(Edit, Find) |
||
Новая запись
(New Record) |
Переход на новую пустую запись в конце формы |
Правка, Перейти, Новая запись (Edit, Go To, New Record) или Вставка, Новая запись (Insert, New Record) |
||
Удалить запись
(Delete Record) |
Удаление текущей записи |
Правка, Удалить запись
(Edit, Delete Record) |
||
Свойства
(Properties) |
Открытие окна свойств выделенного элемента управления |
Вид, Свойства
(View, Properties) |
||
Окно базы данных
(Database Window) |
Отображение окна базы данных |
Окно, 1
(Window, 1) |
||
Новый объект
(New Object) |
Отображение списка типов новых объектов базы данных, которые можно создать |
Нет |
||
Справка по Microsoft Access
(Microsoft Access Help) |
Вызов помощника и получение справки Access 2002 |
Справка, Справка по Microsoft Access
(Help, Microsoft Access Help) |
||
Кнопка
Печать (факс)
(Print (Fax)) позволяет напечатать или отправить по факсу содержимое формы, используя параметры печати по умолчанию и не открывая диалогового окна
Печать
(Print). Чтобы изменить какие-либо параметры печати, выберите команду
Файл, Печать
(File, Print) и установите нужные параметры в открывшемся диалоговом окне печати.
Чтобы проверить орфографию содержимого какого-либо поля, выделите все содержимое данного поля и нажмите кнопку
Орфография
(Spelling). Чтобы проверить орфографию во всех полях всех записей формы, нажмите кнопку
Орфография,
ничего предварительно не выделяя.
Использование кнопки
Найти
(Find) в режиме Формы аналогично ее использованию в режиме Таблицы. В появляющееся при нажатии этой кнопки диалоговое окно
Поиск и замена
(Find and Replace) вводится искомое слово, например имя, фамилия или название улицы, а после получения результатов поиска Access отображает первую найденную запись.
Использование кнопок Сортировка по возрастанию (Sort Ascending), Сортировка по убыванию (Sort Descending), Фильтр по выделенному (Filter by Selection) и Изменить фильтр (Filter by Form) аналогично их использованию в режиме Таблицы. Заметим, что сортировка, определенная в форме, заменяет критерий сортировки запроса, используемого в качестве источника данных (в случае, если форма основана на запросе, а не непосредственно на одной или нескольких таблицах).
Чтобы удалить из формы какой-либо элемент управления:
Чтобы сразу удалить несколько элементов управления, выделите их, как описано в разд. "Выделение и перемещение нескольких элементов управления", и нажмите клавишу <Del> или выберите команду Правка, Удалить (Edit, Delete).
Для удаления текущей записи в форме перейдите на нее с помощью кнопок навигации и нажмите кнопку
Удалить запись
(Delete Record) на панели инструментов
Режим формы
(Form View) или выберите команду
Правка, Удалить запись
(Edit, Delete Record) либо щелкните по области выделения записи, находящейся слева от области данных формы (рис. 5.34), а затем нажмите клавишу <Del>. Если текущая запись не имеет подчиненных записей в связанных таблицах или разрешено каскадное удаление записей, ее удаление возможно. В этом случае появится диалоговое окно, запрашивающее подтверждение удаления записи. Подтвердите удаление записи, нажав кнопку Да (Yes).
До сих пор мы говорили о статическом задании параметров форматирования элементов формы. Но Access предоставляет также инструментарий и для динамического изменения форматирования элементов управления при работе с формой в режиме Формы или режиме Таблицы в зависимости or выполнения некоторых условий. Это средство" называется
формат по условию.
Для тогo чтобы применить данное средстно, откройте форму в режиме Конструктора выделите необходимый элемент управления и выберите команду
Формат, Условное форматирование
(Format, Conditional Formatting), Появится диалоговое окно
Условное форматирование
(Conditional Foi-matting) (рис. 5.26). Это диалоговое окно позволяет задать от одного до трех условий, от выполнения которых зависит формат элемента управления. Условия могут быть ipex чипов:
Тип условия задается выбором соответствующею элемента в самом левом раскрывающемся списке в группе параметров условия в диалоговом окне. Таких элементов списка, соответственно, три:
Значение ноля
(Field Value Is),
Выражение
(Is Expression) и
Фокус в поле
(Field Has Focus).
Операндами выражений здесь могут быть ссылки на другие поля формы в том виде, как они обычно указываются в выражениях Access, и даже вызовы функций VBA. Если заданное условие выполнено, то .иемепг форматируется определенным для этого условия образом. Если ни одно из заданных условии не выполнилось, элемент форматируется в соответствии с форматом по умолчанию, который устанавливается в самой верхней части диалогового окна.
Чтобы добавить новое условие, нажмите кнопку
Добавить >>
(Add >>) в нижней части диалогового окна. Чтобы удалить некоторые условия, нажмите кнопку
Удалить
(Delete) и установите флажки напротив условий, которые требуется удалить.
Значения свойств всей формы, ее разделов и каждого элемента управления в форме задаются в окнах свойств соответствующих элементов. Для отображения на экране окна свойств формы, раздела или элемента управления выделите его и нажмите кнопку
Свойства
(Properties) на панели инструментов
Конструктор форм
(Form Design) или выберите команду
Свойства
(Properties) в контекстном меню.
Выделение формы или элемента управления выполняется следующим образом:
Выделение нескольких элементов управления позволяет задавать для них общие свойства, перемещать их и изменять их размеры одновременно. Отображение окна свойств для нескольких выделенных элементов производится так же, как и для одного выделенного элемента, как было описано
в разд. "Выделение формы и элементов управления и отображение окна свойств" данной главы.
Для выделения нескольких элементов управления одновременно можно Использовать один из следующих способов.
Замечание
Access позволяет выделить все элементы управления, которые хотя бы частично попадают в область выделения. Такой способ выделения объектов отличается от способа выделения, применяемого во многих графических редакторах, в которых для выделения объекта необходимо, чтобы тот целиком попал в область выделения. Данный способ выделения объектов, используемый Access по умолчанию, можно изменить для того, чтобы выделять объект только в том случае, если он целиком попадает в область выделения. Для этого выберите команду Сервис, Параметры (Tools, Options), раскройте вкладку Формы и отчеты (Forms/Reports) и выберите переключатель охват (Fully Enclosed) (см. рис. 5.12).
Чтобы выровнять один или несколько элементов управления по сетке или относительно друг друга, выделите выравниваемые элементы, выберите команду
Формат, Выровнять
(Format, Align), а затем:
У выровненной по одной из вертикальных и горизонтальных сторон группы элементов сразу станет заметной разница в размерах, в частности, если одно поле немного короче другого. Если поля содержат данные разной длины, например номер телефона и адрес, то такая разница в размере обоснована. Но если поля содержат однотипную информацию одинаковой длины, просто необходимо сделать их одинакового размера, чтобы форма выглядела аккуратно. Для выравнивания размеров нескольких элементов выделите их любым описанным ранее способом, а затем выберите одну из команд меню
Формат, Размер
(Format, Size):
Чтобы настроить расстояния между несколькими вертикально расположенными (в один "столбец") элементами управления, выделите их и выберите одну из команд меню
Формат, Интервал по вертикали
(Format, Vertical Spacing):
Аналогичным образом можно настроить расстояния между несколькими горизонтально расположенными (в одну "строку") элементами управления, выделив их и воспользовавшись командами меню
Формат, Интервал по горизонтали
(Format, Horizontal Spacing).
Не пожалейте немного времени на выравнивание элементов управления. Вы увидите, что выполнить это можно быстро и просто, а ваша форма примет профессиональный вид.
В окне Конструктора форм может быть отображена сетка, состоящая из линий толщиной в один пиксел, которые проводятся через каждое деление горизонтальной и вертикальной линеек окна Конструктора форм (то есть через сантиметр). Чтобы отобразить сетку, выберите команду
Вид, Сетка
(View, Grid). Соответствующая команда меню будет отмечена галочкой. Чтобы отменить отображение сетки, снова выберите команду
Вид, Сетка.
Отметка с команды меню
Сетка
будет снята.
Если сетка видна, то с ее помощью можно выровнять элементы управления по горизонтали или по вертикали. Даже если сетка не видна, элементы управления можно "привязать к сетке", выбрав команду
Формат, Привязать к сетке
(Format, Snap to Grid). Если привязка к сетке включена, то команда меню
Привязать к сетке
отмечена галочкой. Если перемещать элемент управления при включенной привязке к сетке, то левый верхний угол объекта будет двигаться дискретно по узлам сетки. Аналогично изменение размеров элемента управления в этом режиме будет происходить дискретно по узлам сетки.
Замечание
Если команда привязки элементов формы к сетке включена, то для перемещения или изменения размеров элемента управления без привязки к сетке нажмите и удерживайте клавишу <Ctrl> в процессе перемещения или изменения размеров элемента управления.
Есть еще один способ выравнивания отдельного элемента управления по сетке: выделите его и выберите команду
Формат, Выровнять, По узлам сетки
(Format, Align, То Grid). В этом случае элемент управления автоматически переместится так, чтобы его левый верхний угол находился в ближайшем узле сетки.
По умолчанию сетка отображается во всех новых формах.
Расстояние между узлами сетки определяется двумя параметрами: густотой сетки по горизонтали (координата X) и по вертикали (координата Y). Густота узлов сетки задается числом, которое означает количество равных частей, на которые будет разделен каждый сантиметр сетки в данном направлении (по вертикали или по горизонтали). Допустимой является густота узлов величиной от 1 до 64 делений на сантиметр. В случае, если густота узлов сетки превышает 10 узлов на сантиметр, узлы сетки не отображаются на экране, т. к. они слишком мало отстоят друг от друга. Чтобы изменить густоту узлов сетки:
При работе с формой переход от одного элемента управления к другому осуществляется с помощью мыши или клавиатуры. Чтобы перейти к следующему элементу управления, щелкните по нему левой кнопкой мыши или нажмите клавишу <Таb>. Чтобы вернуться к предыдущему элементу управления, щелкните по нему или нажмите комбинацию клавиш <Slrift>+<Tab>. С помощью мыши можно сразу перейти к любому элементу управления в форме. С помощью клавиатуры переход от одного элемента управления к другому осуществляется только в заданной последовательности. По умолчанию последовательность перехода определяется порядком создания элементов управления в режиме Конструктора. Изменить эту последовательность позволяет диалоговое окно
Последовательность перехода
(Tab Order).
Чтобы отобразить это диалоговое окно в режиме Конструктора формы, выберите команду
Вид, Последовательность перехода
(View, Tab Order) или щелкните правой кнопкой мыши по форме и выберите в контекстном меню команду
Последовательность перехода
(Tab Order). В этом диалоговом окне отображается список всех элементов управления в форме. Чтобы изменить последовательность перехода, нужно изменить порядок следования элементов в списке, перетаскивая элементы списка с помощью мыши. Перетаскивать нужно, щелкнув по серому квадратику слева от названия поля и удерживая нажатой левую кнопку мыши.