Как сделать кнопку в access

Добавил пользователь Alex
Обновлено: 10.09.2024

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

Под интерфейсом пользователя следует понимать такое представление справочной и командной информации, которая сгруппирована по определённым правилам, и даёт возможность с одной формы обращаться к различным таблицам, запросам, формам, отчётам и внешним объектам, по отношению к базе данных. Любой программный продукт в виде приложения создаётся под нужды определённой категории пользователей, которым удобно ориентироваться на форме приложения, выбирать необходимые тематические направления и запускать их. Обычно при создании интерфейса пользователя используют элементы управления, например, командные кнопки, селекторные кнопки, текстовые окна для ввода информации, рисунки и т.п. Каждый элемент управления обладает свойствами (для изменения внешнего вида элемента) и методами – небольшими программами, которые позволяют выполнять определённые действия, когда к этим элементам обращается пользователь. В серьёзных приложениях все возможные действия пользователя алгоритмизируются, по алгоритмам создают программу обработки события взаимодействия пользователя с элементом управления. Разработчики Access 2010 учли потенциальные потребности пользователей при взаимодействии с интерфейсом, который должен помогать осуществлять навигацию среди множества объектов (таблиц, запросов, форм, отчётов). Разработчику базы данных предложены варианты подходов при создании интерфейсов пользователя. Каждый подход имеет свои недостатки и достоинства, но, тем не менее, когда хотят оперативно создать интерфейс, используют самые простые возможности Access 2010. Связи между элементом управления (Рис. 129), внедрённого на форму, и объектом, который следует представить пользователю, организуются с помощью: встроенных программ (методов), которыми обладают элементы управления; гиперссылок; макросов и программных модулей на встроенном языке VBA .



Рис. 130. Варианты создания вкладок на форме навигации


Например, выбрали вариант , после того, как откроется форма навигации (Рис. 131), её можно заполнять и редактировать.


Рис. 131. Внешний вид формы навигации


Рис. 132. Назначение процедуры обработки события для кнопки


Рис. 133. Выбор формы для связывания с кнопкой


Рис. 134. Пример созданной формы для навигации


Объекты, которые входят в состав базы данных Access , являются самостоятельными элементами. Пользователю требуется организовать доступ к внешним объектам, к таблицам, к запросам, к отчётам, решить эту многоплановую задачу без какого-либо программирования можно, создав форму, в которой используются элементы управления, а связями между формой и отдельными объектами базы данных являются гиперссылки. Удобством разработки такого интерфейса является то, что не требуется создавать специальных программных модулей. Предположим, планово-экономическому отделу организации необходимо выполнять такие функции, как: вносить изменения в наименования должностей сотрудников; изменять коэффициенты доплат; готовить презентационные материалы для доклада руководству. Следовательно, необходимо подготовить такой интерфейс, который позволяет с одной формы осуществлять взаимодействие сотрудника планово-экономического отдела с таблицами, внешними приложениями, запросами и готовыми формами. Наиболее простой вариант решения такой задачи – создать общую форму для подключения других объектов, а связями будут являться гиперссылки. Спроектируем интерфейс таким образом, что пользователь увидит две вкладки. На первой будет группа объектов, которые доступны для внесения изменений, на второй – объекты, которые требуются для анализа данных. Удобнее всего начать работу с нуля, для этого на панели базы данных щёлкните по значку - Пустая форма.


3. Перенесите на вкладку необходимые элементы управления. Для начала создайте заголовок на вкладке с помощью элемента - надпись, перенесите на вкладку, введите текст, например, Доступные материалы для Планово-экономического отдела, отформатируйте надпись.


4. Перенесите на вкладку элемент - Кнопка. Сделайте надпись на кнопке, например, «Открыть таблицу Excel для правки номенклатуры должностей.


Рис. 135. Пример создания гиперссылки на объект базы данных


Рис. 136. Пример созданной формы с элементами управления и гиперссылками для связи с объектами

Напомним, что Access 2010 содержит заранее разработанные различные типы макрокоманд, позволяющие автоматизировать работу приложения. Под макросом следует понимать набор из одной или нескольких макрокоманд, выполняющие определённые операции. Поэтому, задачей разработчика является продумать сценарий действий, которые должны происходить с объектами базы данных, а затем под каждое отдельное действие – подобрать макрокоманду. Макросы создают простые, состоящие из одной макрокоманды и сложные, включающие логические операции и несколько макрокоманд, связанных между собой. В этом разделе рассмотрены возможности, которые могут быть реализованы с помощью макросов.

11.4.1. Как создать и запустить макрос

Макрос является объектом базы данных, который можно использовать неоднократно в различных вариантах. Для того что бы создать простейший макрос необходимо подумать о его дальнейшем использовании. Предположим, перед тем, как приступить к изменению исходной таблицы, пользователя следует предупредить об этом, а затем открыть необходимую таблицу. Получается, что необходимо выполнить два действия. Первое действие – запустить окно с предупреждением. Второе действие – открыть необходимую таблицу.



Рис. 138. Окно для создания макроса

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


Рис. 139. Макрос, включающий 2 шага действий

1. Щёлкните правой кнопкой мыши в окне переходов по наименованию формы - , откройте её командой .


Обратите внимание, что макрос был сконструирован из макрокоманд, которые находятся в списке системы Access . Удобством использования макроса является и то, что он распространяется на все типы объектов базы данных.


Так как макросы в Access 2010 состоят из стандартных макрокоманд (кирпичиков), то можно вместо того, что бы создавать сложные отборы данных в запросах, переложить всю заботу поиска необходимых сведений на макросы. Предположим, руководство организации интересуют конкретные сведения о сотрудниках, которые занимают определённые должности. Скорее всего, руководство уже запуталось в наименованиях должностей на предприятии, это связано с постоянной реорганизацией и созданием приказов о внесении изменений в штатную расстановку. Наверное, руководителю следует предоставить форму с перечнем существующих должностей на предприятии, а далее, дать возможность по наименованию должности найти фамилии сотрудников их место работы и другие сведения. Попробуем создать взаимодействие между формами с помощью макроса.

Для решения поставленной задачи понадобится иметь две формы. Первая форма – главная, которая содержит список должностей на определённый момент времени в организации. Вторая форма – подчинённая, должна содержать сведения, которые интересуют руководителя. Из подчинённой формы должны выбираться данные, относящиеся к условию, которое задаёт руководитель. Следовательно, связь между формами возлагается на программу, которая формируется с помощью макросов. Выполним несколько шагов для решения, поставленной задачи.

Шаг 1. Разработка главной формы для руководителя.


Рис. 142. Форма с перечнем должностей в организации



Рис. 144. Закладка с бланком для создания макроса

Шаг 2. Выбор подчинённой формы и связывание её с главной формой


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

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

2. Продолжите создавать макрос для обработки события – нажатие на кнопку на главной форме . Если главная форма в режиме конструктора была закрыта, то откройте её. Для входа в бланк макроса выделите кнопку на форме, активизируйте в свойствах кнопки ярлык , а затем щёлкните по значку в строке , после чего будет открыт макрос.

3. Добавьте новую макрокоманду (Рис. 146), предварительно раскройте список , из которого выберите строку с наименованием .



Рис. 147. Результат работы макроса в форме

Вопросы для самоконтроля

1. Каким образом можно расположить элемент управления на форме?

2. Как задать свойства элементу управления?

3. Какие средства используют для организации выполнения действий, после того, как пользователь обратится к элементу управления?

4. Можно ли создать интерфейс пользователя для взаимодействия с несколькими формами без использования элементов управления на форме?

5. При создании формы навигации, что отражается на ярлыке вкладки, что отображается на поле вкладки?

6. Как связать элемент управления на форме с необходимым объектом внутри базы данных и с внешним объектом с помощью гиперссылки?

7. Как спроектировать макрос для внедрения в форму?

8. Можно ли создавать макросы с условиями, как это сделать?

9. Где отображаются макросы, накопленные в базе данных, что необходимо сделать, чтобы запустить макрос?

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

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

Такое кнопочное меню очень удобный инструмент работы с базой данных.

Кнопочное меню можно создать вручную в режиме конструктора "с нуля" или воспользоваться Диспетчером кнопочных форм. Конечно, меню, созданные вручную обладают большими возможностями и выглядят более привлекательно, чем меню, созданные диспетчером. Однако, для создания красивого меню вручную требуется достаточно много времени даже для опытного разработчика, а создать простое меню с помощью диспетчера можно за несколько минут. Диспетчер кнопочных форм позволяет создать форму, состоящую из нескольких страниц, на которых располагаются кнопки, сгруппированные по смыслу. Например, страница кнопок к формам для просмотра данных, страница кнопок к формам для ввода данных, страница для просмотра и печати отчетов.

Задание 1. Создание кнопочной формы с помощью Диспетчера

Разработать кнопочную форму Форма-меню, имеющую три страницы Главное меню, Отчеты и Формы и предоставляющую возможность просмотреть и работать с имеющимися в вашей базе данных объектами – отчетами и формами.

Технология работы

Рис. 1. Окно страниц кнопочной формы

  1. В списке страниц выберите Отчеты и нажмите Изменить. Откроется окно изменения страницы кнопочной формы (Рис. 2)

Рис. 2. Элементы кнопочной формы

Дополнение

  1. Для возврата из любой открытой формы или отчета в меню достаточно закрыть их.
  2. Список команд, которые предлагает диспетчер, невелик:
  • Перейти к кнопочной форме
  • Открыть форму для добавления
  • Открыть форму для изменения
  • Открыть отчет
  • Конструктор приложения
  • Выйти из приложения
  • Выполнить макрос
  • Выполнить программу

Из списка видно, что диспетчер кнопочных форм напрямую может связать кнопку ТОЛЬКО с открытием формы или отчета, т.е., по сути, обеспечивает доступ к входным и к выходным данным. Запрос является инструментом обработки данных. Чтобы просмотреть результаты запроса, надо создать соответствующую форму или отчет на основе этого запроса. Тем не менее, можно включить в кнопочную форму доступ к таблицам или запросам, но для этого надо создавать соответствующий макрос и указывать это в диспетчере.

  1. Для изменения состава кнопочного меню вновь запустите Диспетчер кнопочных форм.

Созданная форма имеет 3 страницы. Одна из страниц открывается по умолчанию. Переход между страницами, а также доступ к объектам базы данных осуществляется кнопками.

Задание 2. Создание кнопочной формы в режиме конструктора

Создать с помощью конструктора пользовательскую форму базы данных, обеспечивающую просмотр объектов базы данных: форм, отчетов, запросов.

Конструктор предоставляет множество инструментов для создания форм пользователя. Рассмотрим некоторые из них. Создадим форму с вкладками, на которых будут размещены кнопки перехода к объектам.

Примерный вид формы после выполнения задания (Рис. 3)

Рис. 3. Примерный вид пользовательского интерфейса

Технология работы

Этап 1. Создание формы

  1. В главном меню базы данных выберите окно Формы.
  2. Запустите режим создания формы с помощью конструктора.
  3. Откройте Панель элементов управления (если она не открыта) командой Вид/Панель элементов.
  1. Измените размеры пустого бланка формы, потянув за границы – правую и нижнюю. В дальнейшем, когда все объекты формы будут созданы и размещены, границы можно будет изменить (например, уменьшить).
  2. Создайте заголовок формы – Деканат – инструментом Надпись Аа.
  3. Создайте надписи Базу данных разработал, Фамилия, Имя, Отчество, Группа, Год.

Этап 2. Создание вкладок

  1. На Панели элементов выберите Вкладки.
  2. В центральной части бланка формы вытяните прямоугольник (его размеры в последствии можно изменить). Появится объект с двумя вкладками.
  3. Щелкните на объект правой кнопкой и в контекстном меню выберите Добавить вкладку. Получится объект с тремя вкладками. Добавьте еще одну вкладку.
  4. Измените названия вкладок. Для этого
  • двойным щелчком на название вкладки откройте окно свойств объекта Вкладка;
  • на вкладке Макет в строке подпись введите Отчеты (Просмотр данных, Запросы, Ввод данных – для других вкладок);

Примечание.

Следует различать подпись объекта (вкладка Макет) и имя объекта (вкладка Другие).

Этап 3. Создание кнопок на вкладках

  1. На Панели элементов выберите элемент Кнопка.
  2. Щелкните в области первой вкладки Отчеты. Появится изображение кнопки и одновременно запустится мастер создания кнопок (Рис. 4).

Примечание.

Если мастер кнопок не запускается, значит, не включена кнопка Мастера на Панели элементов управления.

Рис. 4. Мастер создания кнопок

  1. На первом шаге выберите в левом окне категорию – Работа с отчетом, в правом окне действие – Просмотр отчета.
  2. На следующем шаге выберите из списка отчет, который будет появляться при щелчке на кнопку.
  3. На следующем шаге можно задать либо надпись на кнопке, либо рисунок. Здесь же предложен перечень подходящих рисунков (при создании кнопок форм или запросов будут представлены другие рисунки). Выберите рисунок Отчет MS Access.

Примечание.

Можно установить флажок Показать все рисунки и выбрать любой другой рисунок.

    Создайте на вкладке Запросы кнопки некоторых запросов, по которым не создавались отчеты или формы. Для этого на первом шаге мастера кнопок надо выбирать категорию Разное/Выполнить запрос. Сюда же включите кнопку макроса Увольнение (см.6.4.7 задание 7).

Примечание.

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

  1. Можно использовать для дизайна формы объекты Линия и Прямоугольник.
  2. Можно вставить рисунок (эмблему) через буфер обмена или из файла.
  3. Можно применить один из стилей оформления ( Формат/Автоформат).

Задание 3. Создание макроса для автоматического открытия пользовательской формы.

Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции, такие как открытие форм или печать отчетов.

В базах данных удобно скрыть от пользователя главное окно базы данных и предоставить ему работу со специально созданным меню пользователя (см.4.1.1 задание 1, 6.4.9 задание 2). Для этого создается простой макрос автозапуска (autoexec).

Технология работы

  1. В главном окне базы данных откройте окно Макросы.
  2. Щелкните на кнопке Создать. Откроется бланк макроса.
  3. В первой строке выберите из списка макрокоманд команду Свернуть.
  4. Во второй строке выберите из списка макрокоманд команду ОткрытьФорму.
  5. В нижней части бланка выберите имя формы, которую надо открыть – Меню пользователя.

Пример заполнения бланка макроса представлен на Рис. 5.

  1. Закройте окно бланка. Появится вопрос о сохранении.
  2. Назовите макрос – autoexec. Это зарезервированное имя макроса, который автоматически выполняется при открытии базы данных.
  3. Закройте базу данных и вновь запустите ее. Посмотрите, как работает макрос.

Рис. 5. Окно конструктора макроса

Задание 4. Отключение стандартных элементов окна

При работе с объектами базы данных с помощью пользовательского меню рекомендуется отключить стандартные кнопки работы с окном Закрыть, Свернуть/Развернуть, а также установить неизменяемые размеры окна и отключить границы окна. Это делается для того, чтобы пользователь работал с базой данных только через пользовательское меню.

Отключить стандартные элементы окна в пользовательском меню.

Технология работы

  1. Откройте форму Меню пользователя в режиме конструктора.
  2. Откройте окно свойств формы (Вид/Свойства).
  3. На вкладке Макет установите следующие свойства:
  • Кнопка оконного меню – Нет;
  • Кнопки размеров окна – Отсутствуют;
  • Кнопка закрытия – Нет;
  • Автоматический размер – Нет;
  • Тип границы – Отсутствуют.
  1. Закройте окно свойств.
  2. Перейдите в режим просмотра формы и просмотрите сделанные изменения.
  3. Выполните отключение стандартных элементов окна в других формах.

Задание 5. Создание кнопок закрытия форм и кнопки завершения работы

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

Чтобы закрывать объект, не используя стандартные кнопки окна, необходимо создать во всех формах кнопки закрытия формы, а в главной форме Меню пользователя создать кнопку завершения работы с базой данных (Рис. 3).

Элемент управления Кнопка (Command Button) является очень важным элементом формы, поскольку именно с кнопками связаны различные действия, выполняемые пользователем в приложении (сохранение введенных данных, вызов другой формы, вывод на печать документа и т. д.). Обычно кнопка выбирается, когда пользователь щелкает по ней мышью. Однако можно выбрать (нажать, т. к. визуально это именно так и выглядит) кнопку, используя только клавиатуру. Для этого нужно поместить на нее фокус, т. е. сделать активной, нажимая клавишу , а затем нажать клавиши или . Для этой же цели можно назначить кнопке специальную комбинацию клавиш.

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

  1. Создайте в режиме Конструктора пустую форму.
  2. Выберите на панели элементов элемент управления Кнопка (CommandButton) (кнопка Мастера (Control Wizards) на панели элементов должна быть нажата).
  3. В появившемся диалоговом окне вы увидите два списка: левый список содержит категории действий, а правый — сами действия. Выберите в списке Категории (Categories) значение Работа с формой (Form Operations) (рис. 9.18).

Рис. 9.18. Первое диалоговое окно Мастера кнопок

Рис. 9.19. Второе диалоговое окно Мастера кнопок

Рис. 9.20. Третье диалоговое окно Мастера кнопок

Рис. 9.21. Четвертое диалоговое окно Мастера кнопок

Рис. 9.22. Пятое диалоговое окно Мастера кнопок

На форме появилась кнопка. Если вы потом решите все-таки поместить на кнопку какую-нибудь картинку, это можно сделать, установив свойство Рисунок (Picture), для чего вы можете воспользоваться Построителем, который предлагает либо выбрать одну из стандартных картинок, либо использовать графический файл, например созданный в графическом редакторе Paint в Windows (рис. 9.23).

Можно назначить элементу управления Кнопка (Command Button) комбинацию клавиш. Это бывает оправдано, например, если пользователь работает с клавиатурой и ему неудобно для нажатия кнопки переключаться на мышь, а также, если в форме много элементов и для активизации кнопки приходится много раз нажимать клавишу . Чтобы назначить кнопке комбинацию клавиш, в свойстве Подпись (Caption), которое определяет надпись на кнопке, выбирают одну букву (она необязательно должна быть первой) и добавляют перед ней знак амперсанта (&) (рис. 9.24). Выбранная буква в надписи на кнопке будет подчеркнута. Тогда для того, чтобы выбрать кнопку, достаточно просто нажать комбинацию клавиш + , в нашем примере — это + .

Рис. 9.23. Размещение рисунка на кнопке

Рис. 9.24. Назначение кнопке комбинации клавиш

Для любой формы можно создать две специальные кнопки:

  • Одна будет "нажиматься" всякий раз, когда пользователь нажмет клавишу и независимо от того, на каком элементе формы установлен фокус. Такая кнопка определяет действие по умолчанию, и для нее свойству По умолчанию (Default) присваивают значение Да (Yes).
  • Вторая кнопка "нажимается" всякий раз, когда пользователь нажмет клавишу , и опять независимо от того, на каком элементе формы установлен фокус.

Такая кнопка играет роль отмены по умолчанию. Для нее должно быть присвоено значение Да (Yes) свойству Отмена (Cancel).

На рис. 14.10 показана разновидность кнопочной формы, создаваемая программой Access.

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

Рис. 14.10. Эта кнопочная форма программы Access предоставляет доступ к пяти разным формам одним щелчком кнопки мыши. Достоинство кнопочных форм Access заключается в возможности построения собственного варианта за считанные секунды. К недостаткам можно отнести несколько старомодный внешний вид, заставляющий впечатлительных пользователей проектировать собственные кнопочные формы с нуля

Для автоматического создания кнопочной формы следует применять Мастер форм (Form wizard). Далее описывается, как он работает.

1. Выберите на ленте Работа с базами данных > Работа с базами данных > Диспетчер кнопочных форм (Database Tools > Database Tools > Switchboard Manager).

Когда вы первый раз в БД щелкните мышью эту кнопку, программа Access сообщит о том, что не может найти кнопочную форму и предложит ее создать. Щелкните кнопку Да для продолжения работы Диспетчера кнопочных форм (рис. 14.11).

Если кнопочная форма уже существует, переходите к пункту 2, в котором можно редактировать текущую кнопочную форму.


Рис. 14.11. Диспетчер кнопочных форм выводит на экран список страниц. Каждая страница — отдельная часть меню кнопочной формы. У самых простых кнопочных форм только одна страница, что означает поддержку формой одного уровня глубины и выполнение каждой кнопкой полезного действия (например, открытие формы или отчета)


Рис. 14.12. Окно Изменение страницы кнопочной формы позволяет создавать команды меню, удалять те, которые больше не нужны, изменять порядок их следования (этот порядок определяет порядок команд на кнопочной форме)

2. Щелкните мышью кнопку Изменить для редактирования страницы кнопочной формы.

На экране появляется окно Изменение страницы кнопочной формы (рис. 14.12). Именно здесь определяются реальные команды меню.

3. Для создания новой команды меню щелкните мышью кнопку Создать.

На экран выводится окно Изменение элемента кнопочной формы (рис. 14.13). Для создания команды меню необходимо предоставить две порции информации: текст, появляющийся на форме, и команду, которую должна выполнить программа Access, когда вы щелкните мышью кнопку.


Рис. 14.13. Эта команда запускает отчет Attendance (посещаемость).

Из раскрывающегося списка Команда выберите действие, которое должна выполнять команда

4. Введите текст меню и затем выберите действие, которое должна выполнять кнопка.
Возможны следующие варианты:

o Открыть форму для добавления (Open Form in Add Mode) — открывает форму в режиме ввода данных, поэтому можно вставлять новые записи;

o Открыть форму для изменения (Open Form in Edit Mode) — открывает форму в обычном режиме для просмотра и редактирования записей. Этот режим не разрешает редактировать форму, вопреки вводящему в заблуждение названию;

o Открыть отчет (Open Report) — открывает отчет в режиме предварительного просмотра;

o Конструктор приложения (Design Application) — открывает окно Диспетчера кнопочных форм, таким образом, позволяя редактировать меню кнопочной формы. Этот вариант редко требуется включать в меню;

o Выйти из приложения (Exit Application) — завершает программу Access:

o Выполнить макрос (Run Macro) и Выполнить программу (Run Code) — запускают созданный вами макрос (см. главу 15) или написанный вами код на языке Visual Basic (см. главу 16).

5. Повторяйте пункты 3 и 4 до тех пор, пока не создадите все нужные команды. Затем щелкните мышью кнопку Закрыть для возвращения в главное окно Диспетчера кнопочных форм.

У кнопочных форм есть неприятный секрет. На каждой странице можно поместить только восемь команд меню. Если вам нужно больше (а кому же не нужно?), следует добавить дополнительные страницы в ваше меню.

Читайте также: