База данных, в которой отображается текущая деятельность компании, полезна только
в том случае, если информация в ней постоянно обновляется, а поиск нужных сведений
осуществляется быстро. Хотя ввод, корректировка и извлечение табличных данных не
представляют особого труда, едва ли можно поручить эти функции пользователям, не
имеющим представления об Access. Дело не только в неэффективности подобного
подхода, но и в количестве ошибок, возникающих при работе в режиме таблицы,
особенно при вводе информации в связанные таблицы. Решением этой проблемы - и
первым шагом на пути превращения базы данных в приложение – являются формы.
Форма представляет собой объект базы данных, содержащий упорядоченный набор элементов управления,
которые обеспечивают интерактивное взаимодействие с полями одной или нескольких
таблиц. С помощью элементов управления можно вводить новые данные, редактировать и
удалять существующие и осуществлять поиск информации. Подобно печатным формам,
формы Access включают поля, предназначенные для ввода данных, и надписи к ним. Но в отличие от печатных форм,
они могут включать такие элементы, как кнопки выбора или командные кнопки, что превращает формы Access в объекты,
подобные диалоговым окнам Windows или страницам мастеров.
Совет. Некоторые формы используются для перемещения между
объектами базы данных и выполнения функций, не имеющих отношения к обработке
информации. Примером такой формы является кнопочная форма.
Как и любой другой объект Access, форма может быть создана вручную или с
помощью мастера. Формы, предназначенные для перемещения по объектам и организации
работы, рекомендуется создавать вручную в режиме конструктора. Формы же,
основанные на таблицах, следует создавать с помощью мастера и при необходимости
дорабатывать в режиме конструктора. И не потому, что создание формы вручную требует
особых усилий - просто нет смысла делать то, с чем легко справится мастер.
В этой лекции вы создадите несколько форм, чтобы избавить
пользователей, занимающихся вводом и корректировкой информации, от необходимости
вникать в сложности базы данных. Вначале вы воспользуетесь мастером, чтобы
убедиться, с какой легкостью он создает формы, а затем модифицируете форму в режиме
конструктора. Вы узнаете, как поместить в форму элементы управления и настроить их
свойства, как заставить Access реагировать на такие события, как щелчок мыши или ввод
текста, и получите представление о подчиненных формах. Для выполнения упражнений
вам понадобятся база данных GardenCo и другие файлы, которые хранятся в папках FormByWiz, Properties, Layout, Controls, Events, Autoform и Subform, вложенных в папку Office XP SBS\Access\Chap11.
Создание формы с помощью мастера
Прежде чем приступать к созданию формы, нужно решить, на какой таблице она
базируется и для каких целей предназначена. Решив эти вопросы, можно создать форму,
воспользовавшись мастером Создание формы (Form Wizard). Если созданная мастером
форма не совсем отвечает вашим нуждам, ее можно модифицировать в режиме
конструктора, как и большинство объектов Access.
GardenCo
В этом упражнении вы создадите форму, предназначенную для ввода информации о
клиентах в таблицу Клиенты базы данных GardenCo. В качестве рабочей будет
использоваться папка Office XP SBS\Access\Chap11\FormByWiz. Выполните
следующие шаги.
Откройте базу данных GardenCo, расположенную в рабочей папке.
На панели объектов щелкните на пункте Формы (Forms).
Щелкните дважды на команде Создание формы с помощью мастера (Create form
by using wizard), чтобы запустить мастер Создание формы (Form Wizard), первая
страница которого имеет следующий вид.
В списке Таблицы и запросы (Table/Query) щелкните на Таблица:
Клиенты (Table: Customers), чтобы отобразить поля этой таблицы в списке Доступные поля (Available Fields).
Щелкните на кнопке >>, чтобы переместить все поля таблицы Клиенты в список Выбранные поля (Selected Fields), и щелкните на
кнопке Далее (Next). Вторая страница мастера позволяет выбрать внешний вид
формы. Если щелкнуть на одном из вариантов, представленных справа, в левой части
страницы отобразится соответствующий макет.
Щелкните на варианте В один столбец (Columnar), а затем щелкните на
кнопке Далее (Next). Появится страница, позволяющая выбрать стиль
оформления формы. Каждый стиль можно просмотреть на образце, выделив его в списке.
Выделите стиль Рисунок Суми (Sumi Painting) и щелкните на кнопке Далее (Next).
Так как форма базируется на таблице Клиенты, Access предлагает имя
таблицы в качестве заголовка формы. Примите предложение, оставьте выделенным
флажок Открыть форму для просмотра и ввода данных (Open the form to view or enter
information) и щелкните на кнопке Готово (Finish).Откроется новая форма Клиенты, в которой отображается первая запись таблицы
Клиенты.
Воспользуйтесь кнопками перехода внизу формы, чтобы просмотреть несколько
записей.
Закройте форму и базу данных.
Изменение свойств формы
Как и с таблицами, с формами можно работать в нескольких режимах. Чаще всего
используются режим формы, предназначенный для просмотра и корректировки данных, и
режим конструктора, позволяющий добавлять элементы управления, изменять их
свойства и положение.
В созданной мастером форме каждое поле, выбранное из таблицы, представлено
двумя элементами управления: полем (куда вводятся данные) и надписью к нему. Такие
формы связаны с конкретной таблицей, которая является источником записей для формы, а поле таблицы является источником данных для
элемента управления. Каждый элемент управления обладает набором свойств, таких как
шрифт и его атрибуты, цвет фона или стиль обрамления. По умолчанию мастер
присваивает всем свойствам значения, но их можно изменить, чтобы улучшить внешний
вид формы и ее функционирование.
GardenCo tgs_bkgrnd
В этом упражнении вы измените свойства формы Клиенты в соответствии с нуждами
пользователей, которые с ней ежедневно работают. В качестве рабочей будет
использоваться папка Office XP SBS\Access\Chap11\Properties. Выполните
следующие шаги.
Откройте базу данных GardenCo, расположенную в рабочей папке.
На панели объектов выделите пункт Формы (Forms), в списке форм
выделите Клиенты и щелкните на кнопке Конструктор
(Design)
. Форма откроется в
режиме конструктора, как показано на следующем рисунке.
Форма наследует многие свойства таблицы, на основе которой она создается. В
данном случае имена полей формы являются именами полей таблицы, надписи к полям
задаются свойством Подпись (Caption), а размер полей определяется
свойством Размер поля (Field Size).
Совет. Свойства формы не привязаны к исходной таблице. Изменение
свойств таблицы не влияет на соответствующие свойства формы, и наоборот.
Измените шрифт надписи Код клиента, щелкнув на ней, а затем щелкнув
на Microsoft Sans Serif в списке Шрифт (Font) на панели
инструментов Форматирование (Formatting). (Если в списке нет этого шрифта,
воспользуйтесь другим, например, MS Sans Serif.)
В списке Размер шрифта (Font Size) щелкните на значении 8, чтобы
немного уменьшить шрифт выделенной надписи.
Щелкните правой кнопкой мыши в поле КодКлиента и щелкните на
команде Свойства (Properties) в контекстном меню, чтобы отобразить
диалоговое окно свойств этого поля.
С помощью этого диалогового окна можно отобразить свойства любого объекта
формы, включая саму форму. Для этого достаточно щелкнуть на стрелке поля вверху
диалогового окна и выбрать из списка нужный объект.
Свойства элементов формы сгруппированы по вкладкам Макет (Format), Данные (Data), События (Event) и Другие (Other).
Чтобы отобразить все свойства, откройте вкладку Все (All).
Щелкните на вкладке Макет (Format), прокрутите список свойств до Шрифт (Font Name) и установите шрифт Microsoft Sans Serif (или MS Sans
Serif). Затем в поле свойства Размер шрифта (Font Size) установите значение 8,
а в поле свойства Насыщенность (Font Weight) - Полужирный
(Bold). Все изменения свойств поля КодКлиента тут же отображаются в
форме.Совет. Если диалоговое окно Свойства (Properties)
закрывает обзор, можно перетащить его к краю экрана, чтобы наблюдать за изменениями
в форме.
Щелкните на стрелке поля вверху диалогового окна Свойства (Properties),
а затем щелкните на Имя_Надпись в списке, чтобы выделить надпись слева от
поля Имя.
Повторите шаг 6, чтобы изменить установки шрифта для этого элемента управления.
Хотя изменение свойств элемента управления осуществляется легко и просто,
модификация нескольких дюжин элементов может оказаться утомительным занятием.
Следующие два шага показывают, как сразу изменить свойства нескольких
элементов.
Нажмите на клавиши (Ctrl)+(A) чтобы выделить все элементы управления
в разделе Область данных (Detail).Совет. Можно также выделить все элементы формы, щелкнув на
команде Выделить все (Select All) в меню Правка (Edit) или
протащив указатель по форме таким образом, чтобы заключить в прямоугольную рамку
нужные элементы.
Вокруг всех элементов управления появятся черные квадратики, называемые
рукоятками. В строке заголовка диалогового окна Свойства (Properties) теперь
указано " Несколько элементов управления (Multiple Selection) ", а
список объектов пустой. На вкладке Макет (Format) отображаются только те
установки, которые имеют одинаковые значения для всех выделенных элементов.
Поскольку изменения, выполненные в предыдущих шагах, распространяются не на все
выделенные элементы, свойства Шрифт (Font Name), Размер шрифта
(Font Size) и Насыщенность (Font Weight) не имеют значений.
Чтобы применить новые установки ко всем выделенным элементам управления,
повторите действия, выполненные в шаге 6.
На вкладке Макет (Format) щелкните на свойстве Тип фона (Back
Style) и выберете значение Обычный (Normal). Фон надписей больше не
является прозрачным.
Щелкните на свойстве Цвет фона (Back Color), а затем щелкните на кнопке
построителя ... в конце поля, чтобы отобразить диалоговое окно
Щелкните на бледно-желтом цвете и щелкните на кнопке ОК. Фон всех элементов
управления станет бледно-желтым.Совет. Если на палитре нет нужного цвета, щелкните на кнопке Определить цвет (Define Custom Colors), подберите параметры, чтобы
добиться желаемого оттенка, и щелкните на кнопке Добавить в набор (Add to Custom
Colors).
В списке свойства Оформление (Special Effects) щелкните на С
тенью (Shadowed), а затем задайте зеленый цвет для свойства Цвет границы
(Border Color).Задавая цвет, можно воспользоваться кнопкой построителя : и выбрать нужный
оттенок или ввести числовое обозначение цвета (например, 32768) в поле свойства Цвет границы (Border Color).
Щелкните в разделе Область данных (Detail), чтобы отменить выделение.
Форма должна теперь выглядеть примерно так.
Щелкните на надписи слева от поля Почтовый
Индекс, а затем в диалоговом окне Свойства (Properties) установите в
свойстве Подпись (Caption) значение Индекс.
Повторите шаг 16, чтобы заменить текст надписи Номер Телефона на Телефон.Совет. Значения свойств Подпись (Caption) и Данные
(Control Source) можно отредактировать обычным способом, выделив содержимое
поля и введя нужный текст. Однако в последнем случае следует соблюдать осторожность,
поскольку это свойство определяет источник, откуда поступают данные.
Удалите надпись слева от поля Фамилия, щелкнув на ней и нажав на
клавишу (Del).
Выделите все надписи (но не соответствующие им поля), щелкая на каждой из них
при нажатой клавише (Shift). Затем в диалоговом окне Свойства
(Properties) в поле свойства Выравнивание текста (Text Align)
установите значение По правому краю (Right).
В меню Формат (Format) укажите на команду Размер (Size), а
затем щелкните на По размеру данных (To Fit), чтобы подогнать размеры
надписей под длину содержащегося в них текста, как показано ниже.
Совет. Если в процессе форматирования, аналогичного приведенному
выше, вы получили не тот результат, на который рассчитывали, щелкните на кнопке Восстановить (Undo) или нажмите на клавиши (Ctrl)+(Z), чтобы
отменить последние изменения, и повторите попытку.
Выделите теперь все поля (но не надписи к ним), а затем в диалоговом окне Свойства (Properties) в поле свойства От левого края (Left) введите
значение 4 см, чтобы создать небольшой промежуток между надписями и
полями.
В поле свойства Насыщенность (Font Weight) установите значение Обычный (Normal), а затем щелкните вне элементов управления, чтобы
отменить выделение.
Чтобы внешний вид формы соответствовал принятому в компании, в списке объектов
вверху диалогового окна Свойства (Properties) выделите Форма
(Form). Щелкните на свойстве Рисунок (Picture), а затем щелкните на
кнопке построителя :, чтобы отобразить диалоговое окно Выбор рисунка (Insert
Picture).
Перейдите к папке Office XP SBS\Access\Chap11\Properties, в поле Тип файлов (Files of Type) установите значение Графические файлы
(Graphic Interchange Format), а затем щелкните дважды на файле tgc_bkgrnd. Фон формы изменится, а в поле свойства Рисунок
(Picture) отобразится путь к выбранному файлу.
Щелкните на кнопке , чтобы сохранить макет формы Клиенты.
Закройте форму и базу данных.
Улучшение макета формы
Созданные мастером формы являются функциональными и не более того. Однако их
можно легко доработать в соответствии с вашими нуждами: добавить или удалить
надписи, переместить элементы управления, вставить логотипы и рисунки - одним словом
сделать форму привлекательной внешне и удобной в использовании.
В процессе работы над формой указатель принимает вид, отображающий тип
действия, которое можно выполнить в данный момент. Это тем более важно, что надпись
и поле трактуются иногда как единый объект, что может привести к нежелательным
изменениям. В следующей таблице представлены типы указателей и действия, которые
они выполняют:
| Форма указателя | Действие |
Рука |
Перетаскивает
оба элемента управления как один объект. |
Указывающий
палец |
Перетаскивает один элемент управления |
Вертикальные
стрелки |
Перетаскивает верхнюю или нижнюю границу, чтобы изменить высоту
элемента управления. |
Горизонтальные
стрелки |
Перетаскивает правую или левую границу, чтобы изменить ширину
элемента. |
Диагональные
стрелки |
Перетаскивает угол элемента управления, чтобы изменить высоту и
ширину одновременно. |
GardenCo
В этом упражнении вы упорядочите элементы управления в форме Клиенты, чтобы
последовательность полей ввода соответствовала порядку заполнения формы. В качестве
рабочей будет использоваться папка Office XP SBS\Access\Chap11\Layout.
Выполните следующие шаги.
Откройте базу данных GardenCo, расположенную в рабочей папке.
Откройте форму Клиенты в режиме Конструктор (Design).
Если нужно, перетащите правый нижний угол окна формы вниз и вправо, чтобы
отобразить всю форму и пустую область справа, как показано на следующем
рисунке.
Форма состоит из трех разделов: Заголовок формы (Form Header), Область данных (Detail) и Примечание формы (Form Footer).На данном этапе только область данных имеет содержимое.
Укажите на правую границу области данных и, когда указатель примет форму
двуглавой стрелки, перетащите ее вправо, чтобы отобразить все поля полностью.
Щелкните в поле Фамилия, а затем медленно перемещайте указатель вдоль
границ с рукоятками выделения, наблюдая за изменением формы указателя.
Когда указатель примет форму руки, перетащите поле Фамилия вверх и
вправо, чтобы оно разместилось справа от поля Имя.
Поочередно выделяя элементы управления, перетащите их и, если нужно, измените
размеры таким образом, чтобы форма приобрела вид как показано на рисунке ниже.Рекомендуется, чтобы все формы в базе данных имели единый дизайн. Поэтому вы
создадите и сохраните стиль, основанный на этой форме, чтобы использовать его в
дальнейшем, а не форматировать каждую форму вручную.
Совет. Чтобы точно разместить элемент управления, щелкните на нем,
переместите указатель по элементу, так чтобы он принял нужную форму, а затем
передвиньте элемент с помощью клавиш-стрелок. Каждое нажатие смещает выделенный
элемент на небольшое расстояние в направлении, указанном стрелкой.
В меню Формат (Format) щелкните на команде Автоформат
(AutoFormat), чтобы отобразить диалоговое окно Автоформат
(AutoFormat).
Щелкните на кнопке Настройка (Customize), чтобы отобразить диалоговое
окно Настройка автоформата (Customize AutoFormat).
Выделите вариант Создание нового стиля на основе формы 'Клиенты' (Create a
new AutoFormat based on the form 'Customers') и щелкните на кнопке ОК.
В диалоговом окне Новое название стиля (New Style Name) введите The Garden Company и щелкните на кнопке ОК.В диалоговом окне Автоформат (AutoFormat) в списке автоформатов
появится новый стиль. Он доступен для любой базы данных, открытой на вашем
компьютере.
Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Автоформат
(AutoFormat).
Щелкните на кнопке .
Закройте форму и базу данных.