Цель изучения темы: научиться использовать элементы управления на формах, освоить приёмы назначения команд, гиперссылок и макросов для вызова реакции системы при взаимодействии пользователя с элементами управления на формах.
11.1. Общее представление о создании интерфейсов
Под интерфейсом пользователя следует понимать такое представление справочной и командной информации, которая сгруппирована по определённым правилам, и даёт возможность с одной формы обращаться к различным таблицам, запросам, формам, отчётам и внешним объектам, по отношению к базе данных. Любой программный продукт в виде приложения создаётся под нужды определённой категории пользователей, которым удобно ориентироваться на форме приложения, выбирать необходимые тематические направления и запускать их. Обычно при создании интерфейса пользователя используют элементы управления, например, командные кнопки, селекторные кнопки, текстовые окна для ввода информации, рисунки и т.п. Каждый элемент управления обладает свойствами (для изменения внешнего вида элемента) и методами – небольшими программами, которые позволяют выполнять определённые действия, когда к этим элементам обращается пользователь. В серьёзных приложениях все возможные действия пользователя алгоритмизируются, по алгоритмам создают программу обработки события взаимодействия пользователя с элементом управления. Разработчики Access 2010 учли потенциальные потребности пользователей при взаимодействии с интерфейсом, который должен помогать осуществлять навигацию среди множества объектов (таблиц, запросов, форм, отчётов). Разработчику базы данных предложены варианты подходов при создании интерфейсов пользователя. Каждый подход имеет свои недостатки и достоинства, но, тем не менее, когда хотят оперативно создать интерфейс, используют самые простые возможности Access 2010. Связи между элементом управления (Рис. 129), внедрённого на форму, и объектом, который следует представить пользователю, организуются с помощью: встроенных программ (методов), которыми обладают элементы управления; гиперссылок; макросов и программных модулей на встроенном языке VBA.
Рис. 129. Элементы управления на вкладке «Работа с макетами форм»
11.2. Разработка формы навигации
Пользователя
базы данных могут интересовать все формы, созданные для просмотра записей, в
этом случае удобным средством для просмотра внешнего вида и содержимого форм
служит общая форма навигации. Смысл создания такой формы заключается в том, что
на экране появляется группа вертикальных или горизонтальных вкладок, при нажатии
на одну из них открывается соответствующая форма для просмотра данных. Для
создания формы навигации раскройте список на пиктограмме ,
которая находится на вкладке «Создание». В раскрывшемся списке выберите один из
вариантов расположения вкладок (Рис. 130).
Рис. 130. Варианты создания вкладок на форме навигации
Например,
выбрали вариант ,
после того, как откроется форма навигации (Рис. 131), её можно заполнять и
редактировать.
Рис. 131. Внешний вид формы навигации
Рис. 132. Назначение процедуры обработки события для кнопки
Рис. 133. Выбор формы для связывания с кнопкой
Рис. 134. Пример созданной формы для навигации
Созданная «Форма навигации» (имя этой форме можно задавать любое) имеет несколько вкладок, что даёт возможность просматривать различные формы с одной общей. При её создании команды для обработки событий: наезд мышью на объект, щелчок левой или правой кнопкой мыши и т.п., не потребовало написания программных кодов. Неудобством формы навигации является то, что она позволяет объединять только формы запросов (один из объектов базы данных).
11.3. Разработка интерфейса пользователя с элементами управления и гиперссылками
Объекты,
которые входят в состав базы данных Access, являются самостоятельными
элементами. Пользователю требуется организовать доступ к внешним объектам, к
таблицам, к запросам, к отчётам, решить эту многоплановую задачу без какого-либо
программирования можно, создав форму, в которой используются элементы
управления, а связями между формой и отдельными объектами базы данных являются
гиперссылки. Удобством разработки такого интерфейса является то, что не
требуется создавать специальных программных модулей. Предположим,
планово-экономическому отделу организации необходимо выполнять такие функции,
как: вносить изменения в наименования должностей сотрудников; изменять
коэффициенты доплат; готовить презентационные материалы для доклада руководству.
Следовательно, необходимо подготовить такой интерфейс, который позволяет с одной
формы осуществлять взаимодействие сотрудника планово-экономического отдела с
таблицами, внешними приложениями, запросами и готовыми формами. Наиболее простой
вариант решения такой задачи – создать общую форму для подключения других
объектов, а связями будут являться гиперссылки. Спроектируем интерфейс таким
образом, что пользователь увидит две вкладки. На первой будет группа объектов,
которые доступны для внесения изменений, на второй – объекты, которые требуются
для анализа данных. Удобнее всего начать работу с нуля, для этого на панели базы
данных щёлкните по значку -
Пустая форма.
Рис. 135. Пример создания гиперссылки на объект базы данных
Аналогичным образом создайте имя второй вкладки на форме, установите на неё необходимые элементы управления, создайте гиперссылки для связи с объектами базы данных или внешними файлами. Сохраните форму, например, под именем «Форма с гиперссылками», на рисунке 136 показан внешний вид формы после запуска на исполнение.
Рис. 136. Пример созданной формы с элементами управления и гиперссылками для связи с объектами
11.4. Использование макросов в формах
Напомним, что Access 2010 содержит заранее разработанные различные типы макрокоманд, позволяющие автоматизировать работу приложения. Под макросом следует понимать набор из одной или нескольких макрокоманд, выполняющие определённые операции. Поэтому, задачей разработчика является продумать сценарий действий, которые должны происходить с объектами базы данных, а затем под каждое отдельное действие – подобрать макрокоманду. Макросы создают простые, состоящие из одной макрокоманды и сложные, включающие логические операции и несколько макрокоманд, связанных между собой. В этом разделе рассмотрены возможности, которые могут быть реализованы с помощью макросов.
11.4.1. Как создать и запустить макрос
Макрос является объектом базы данных, который можно использовать неоднократно в различных вариантах. Для того что бы создать простейший макрос необходимо подумать о его дальнейшем использовании. Предположим, перед тем как приступить к изменению исходной таблицы, пользователя следует предупредить об этом, а затем открыть необходимую таблицу. Получается, что необходимо выполнить два действия. Первое действие – запустить окно с предупреждением. Второе действие – открыть необходимую таблицу.
Рис. 137. Группа «Макросы и код»
Рис. 138. Окно для создания макроса
Рис. 139. Макрос, включающий 2 шага действий
Обратите
внимание, что бланк макроса состоит из областей, для каждого отдельного действия
(в данном примере их два), всегда можно открыть макрос в режиме Конструктор, и
провести коррекцию любой области. Сохраните макрос, например под именем
«Открываем таблицу», после чего в окне переходов появится новый объект .
Осталось
самое главное, сделать так, чтобы макрос запускался без участия пользователя,
т.е. макрос следует привязать к какому-то объекту. Воспользуемся уже готовой
формой с наименованием «Форма с гиперссылками», на первую вкладку добавим
элемент управления – Надпись, назначим этому элементу управления макрос .
Порядок выполнения состоит из следующих шагов.
Рис. 140. Назначение макроса «Открываем таблицу» элементу управления – Надпись («Просмотр должностей и окладов сотрудников организации»)
Обратите внимание, что макрос был сконструирован из макрокоманд, которые находятся в списке системы Access. Удобством использования макроса является и то, что он распространяется на все типы объектов базы данных.
Рис. 141. Сообщение на экране пользователя, которое было создано в макросе
11.4.2. Создание сложного макроса
Так как макросы в Access 2010 состоят из стандартных макрокоманд (кирпичиков), то можно вместо того, чтобы создавать сложные отборы данных в запросах, переложить всю заботу поиска необходимых сведений на макросы. Предположим, руководство организации интересуют конкретные сведения о сотрудниках, которые занимают определённые должности. Скорее всего, руководство уже запуталось в наименованиях должностей на предприятии, это связано с постоянной реорганизацией и созданием приказов о внесении изменений в штатную расстановку. Наверное, руководителю следует предоставить форму с перечнем существующих должностей на предприятии, а далее, дать возможность по наименованию должности найти фамилии сотрудников их место работы и другие сведения. Попробуем создать взаимодействие между формами с помощью макроса.
Для решения поставленной задачи понадобится иметь две формы. Первая форма – главная, которая содержит список должностей на определённый момент времени в организации. Вторая форма – подчинённая, должна содержать сведения, которые интересуют руководителя. Из подчинённой формы должны выбираться данные, относящиеся к условию, которое задаёт руководитель. Следовательно, связь между формами возлагается на программу, которая формируется с помощью макросов. Выполним несколько шагов для решения, поставленной задачи.
Шаг 1. Разработка главной формы для руководителя.
Рис. 142. Форма с перечнем должностей в организации
Рис. 143. Представление формы «Форма с макросами» в режиме Конструктор после проведения операций форматирования
Рис. 144. Закладка с бланком для создания макроса
Шаг 2. Выбор подчинённой формы и связывание её с главной формой
Рис. 145. Внешний вид формы, которая будет отображаться при запуске запроса из главной формы
Эта форма содержит сведения из таблиц и запросов, единственное, что необходимо иметь в виду, то, что в ней обязательно должно находиться поле с должностями сотрудников, т.к. в дальнейшем именно по признаку должности, будет происходить формирование выходного продукта для руководителя, который в своём запросе остановится на конкретном наименовании должности.
Рис. 146. Бланк с макрокомандами «Открыть форму»
Рис. 147. Результат работы макроса в форме