Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Создание кнопочных форм-меню

ЛАБОРАТОРНАЯ РАБОТА № 7. Автоматизация управления базой данных.

 

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

Краткие сведения

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

- пользовательские меню и инструментальные панели;

- кнопочные формы управления базой данных;

- средства настройки параметров запуска базы данных;

- макросы и модули.

Создание пользовательского меню

Задание 1.Создайте пользовательское меню для управления базой данных, содержащее категории Формы и Отчеты с пунктами (командами) для открытия ранее составленных форм и отчетов.

Технология

1. Для создания новой строки меню откройте окно Настройка. Для этого выполните команду ВИД/Панели инструментов/Настройка или, щел­кнув правой клавишей по любой панели инструментов, выберите в контекстном меню пункт Настройка.

2. В окне Настройка на вкладке Панели инструментов щелкните по кнопке Создать.

3. В окне Создание панели инструментов введите имя панели инструментов: Управление базой данных. Нажмите кнопку Ok. В окне Access появится небольшая миниатюра панели. Перетащите созданную панель инструментов в верхнюю часть окна Access, установив над строкой меню.

4. В окне Настройка нажмите кнопку Свойства и определите тип созданной панели - Строка меню. Закройте окно установки свойств.

5. Добавьте в строку созданного меню категорию Формы. Для этого в окне Настройка откройте вкладку Команды и в списке категорий щелкните по категории Новое меню. Перетащите команду Новое меню из списка команд в правом подокне на строку меню Управление базой данных. Не закрывая окно Настройка, щелкните правой клавишей в строке меню по категории Новое меню и в контекстном меню замените имя категории на Формы.

6. Добавьте в меню категорию Отчетыаналогично пункту 5.

7. Аналогично добавьте в меню Формы новое подменю, назвав его Простые.

8. В окне Настройка на вкладке Команды выделите категорию Все формы. Перетащите строку с названием одной из созданных ранее форм - Студент простая в область команд (пунктов) категории Формы строки меню Управление базой данных. Включив контекстное меню новой команды, установите стиль отображения - Только текст.

9. Аналогично добавьте в область команд категории Формы/Простыепункты с названием форм – Группа и Простая форма по запросу.

10. Добавьте в категорию Отчеты меню Управление базой данных пункты с названиями отчетов. Закройте окно Настройка. Проверьте работу меню.

11. Выполните команду СЕРВИС/Параметры запуска и установите в окне Параметры запуска следующие параметры запуска при открытии базы данных:

- введите в качестве заголовка приложения название Академия;

- выберите в качестве строки меню строку Управление базой данных.

- отмените вывод на экран окна базы данных, строки состояния, полного набора меню Access, встроенных панелей инструментов.

12. Закройте окно Параметры запуска. Закройте базу данных, затем повторно откройте. Откроется окно Access, содержащее только одну строку пользовательского меню Управление базой данных с категориями Формы и Отчеты. Убедитесь в правильной работе команд меню.

13. Восстановите для базы данных Академия отображение окна базы данных, полного набора меню Access, встроенных панелей инструментов. Для этого перезагрузите базу данных и при повторном открытии держите нажатой клавишу SHIFT. Выполните команду СЕРВИС/Пара­мет­ры­ запускаи восстановите исходное состояние флажков.

Создание макросов

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

Целью разработки макроса является исключение необходимости каждый раз перед созданием новой таблицы (экзаменационной ведомости) вручную переименовывать ранее созданную таблицу, чтобы предотвратить ее удаление. Макрос должен сам создавать таблицы с именами, соответствующими номерам групп и кодам дисциплин, по схеме: Ведомость NNN-K,

где NNN - номер группы, введенный в диалоговом окне, K - код дисциплины.

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

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

При конструировании макроса можно использовать ранее созданный запрос с именем Запрос на создание экзаменационной ведомости.

Поскольку условия выполнения макрокоманд могут определяться толь­ко значениями полей или элементов управления форм и отчетов предварительно следует создать вспомогательную табличную форму на основании таблицы Ведомость 1.

Технология

1. Автоматически создайте новую табличную форму на основании таблицы Ведомость 1. Для этого в окне База данных выберите объект Формы и щелкните по кнопке Создать. В диалоговом окне Новая форма выберите способ создания - Автоформа: табличная, а в качестве источника данных - таблицу Ведомость 1. Щелкните по кнопке Ok. После появления на экране формы закройте ее и сохраните под именем Форма для макроса.

2. Для того, чтобы форма не зависела от таблицы Ведомость 1 замените имя источника записей в окне свойств формы на Ведомость 00. Для этого откройте форму в режиме конструктора и щелкните по кнопке Свойства, расположенной инструментальной панели Конструктор форм. Отредактируйте значение свойства Источник записей на вкладке Данные.

3. В окне База данных выберите объект Макросы и щелкните по кнопке Создать. Появится окно конструктора макросов. Добавьте в окне еще один столбец - Условия. Для этого выполните команду ВИД/Условия или щелкните по кнопке инструментальной панели с соответствующим названием.

4. Щелкните внутри ячейки первой строки и столбца Макрокоманда. Появится поле со списком макрокоманд. Выберите макрокоманду: УстановитьСообщения. В нижней части окна появится аргумент этой команды: Нет. Оставьте его без изменения. Введите в графу Примечание краткий комментарий: Отключение системных и предупреждающих сообщений.

5. Перейдите на следующую строку и выберите для нее макрокоманду ОткрытьЗапрос. Определите аргументы макрокоманды в нижней части окна. Раскройте список в поле Имя запроса и выберите в нем имя Запрос на создание экзаменационной ведомости. Сохраните значение аргументов Режим - таблица и Режим данных - изменение. Введите комментарий к этой макрокоманде: на создание экзаменационной ведомости. При выполнении данной макрокоманды будет создана таблица Ведомость 1.

6. После того, как запрос на создание ведомости отработал, его можно закрыть, поэтому в третьей строке выберите макрокоманду Закрыть. Определите аргументы макрокоманды: Тип объекта - Запрос, Имя объекта - Запрос на создание экзаменационной ведомости, Сохранение- Подсказка. Введите комментарий: Закрытие запроса.

7. Перед открытием созданной ранее Формы для макроса необходимо произвести копирование таблицы Ведомость1 в другую таблицу, которая и будет использована для открытия формы - Ведомость 00. Для этого выберите макрокоманду КопироватьОбъект. Определите аргументы макрокоманды: Новое имя - Ведомость 00, Тип объекта - таблица, Имя объекта - Ведомость 1. Введите комментарий: копирование таблицы Ведомость 1 в Ведомость 00.

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

8. В следующей строке выберите макрокоманду ОткрытьФорму. Определите аргументы макрокоманды: Имя формы - Форма для макроса, Режим - Форма, Режим окна - Обычное. Введите комментарий: Открыть форму на основе таблицы Ведомость 00.

9. Следующая макрокоманда должна осуществить переход на первую строку таблицы-формы для проверки значений полей N группы и Код дисциплины, введенных при выполнении запроса в диалоговые окна. Поэтому в очередной строке выберите макрокоманду НаЗапись. Выберите из списка для аргумента Запись значение Первая. Введите комментарий: Перейти на 1-ую запись табличной формы.

10. Выберите для следующей строки макрокоманду Переименовать для переименования ведомости для группы 851 и дисциплины с кодом 1. Определите аргументы макрокоманды: Новое имя - Ведомость 851_1, Тип объекта - Таблица, Старое имя - Ведомость 1. В графу Условие введите с помощью построителя для этой строки выражение :

[Формы]![Форма для макроса]![N группы]=851 And [Формы]![Форма для макроса]![Код дисциплины]=1

Введите комментарий: Переименовать Ведомость 1 в Ведомость 851_1

11. Введите следующую макрокоманду для переименования ведомости для группы 851 и дисциплины с кодом 2. Определите аргументы макрокоманды: Новое имя - Ведомость 851_2, Тип объекта - Таблица, Старое имя - Ведомость 1. Введите Условие:

[Формы]![Форма для макроса]![N группы]=851 And [Формы]![Форма для макроса]![Код дисциплины]=2

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

12. Введите следующие строки макроса по аналогии с двумя предыдущими для переименования ведомости для группы 851 и дисциплины с кодом 3, а также для других групп и дисциплин. При 3-х дисциплинах должно быть 3 макрокоманды на одну группу студентов.

13. Введите последнюю макрокоманду Закрыть с аргументами: Тип объекта - Форма, Имя объекта - Форма для макроса, Сохранение - Подсказка. Окончательный вид макроса представлен на рис. 7.1

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

 

Рис. 7.1. Окончательный вид макроса для создания экзаменационных ведомостей

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

Задание 3.Создайте макрос для автоматического формирования таблицы Общая ведомость. Макрос должен использовать Запрос на добавление записей в общую ведомость, который рассматривался ранее. Данные всех экзаменационных ведомостей должны добавляться в Общую ведомость за один запуск макроса. Поскольку запрос использует одну и ту же таблицу Ведомость 1, из которой записи добавляются в Общую ведомость, необходимо поручить макросу перед добавлением записи из очередной таблицы копировать все ее записи во вспомогательную таблицу Ведомость 1. При этом пользователь будет освобожден от необходимости переименовывать таблицы, как это было рассмотрено ранее.

Для того чтобы избежать лишних остановок при выполнении макроса, поручите макросу также не выводить вспомогательные служебные сообщения и сообщения-предупреждения.

 

Технология

1. В окне базы данных в списке объектов выберите Макросы и щелкните по кнопке Создать. Для отмены вывода промежуточных сообщений в первой строке макроса выберите макрокоманду УстановитьСообщения, сохраните аргумент - Нет, и введите комментарий: Отмена вывода промежуточных сообщений

2. Введите вторую макрокоманду - КопироватьОбъект, определите аргументы: Новое имя - Общая ведомость, Тип объекта - Таблица, Имя объекта - Ведомость 851_1. Введите комментарий: Копирование Ведомости 851_1 в Общую ведомость.

3. Введите следующую макрокоманду - КопироватьОбъект, определите аргументы: Новое имя - Ведомость 1, Тип объекта - Таблица, Имя объекта - Ведомость 851_2. Введите комментарий: Копирование Ведомости 851_2 в Ведомость 1.

4. Введите в четвертую строку макрокоманду ОткрытьЗапрос. Определите аргументы: Имя запроса - Запрос на добавление записей в Общую ведомость, Режим - Таблица, Режим данных - Изменение. Введите комментарий: Добавление записей из таблицы Ведомость 1 в Общую ведомость.

5. Выделите 3-ю и 4-ую строки макроса и скопируйте их в буфер. Щелкните мышкой в первом столбце 5-ой строки, вызовите правой кнопкой мыши контекстное меню и вставьте из буфера строки. Отредактируйте аргумент Имя объекта для 6-ой макрокоманды. Вместо имени Ведомость 851_2 введите имя Ведомость 852_1. Отредактируйте соответственно комментарий.

6. Используя вставку из буфера, введите остальные макрокоманды макроса - по две макрокоманды (КопироватьОбъект и ОткрытьЗапрос) для каждой ведомости. Отредактируйте аргумент Имя объекта для макрокоманд КопироватьОбъект.

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

 

Рис. 7.2. Макрос формирования Общей ведомости.

 

8. Запустите макрос из окна базы данных. Просмотрите таблицу Общая ведомость. Убедитесь в правильности работы макроса. Вы можете неоднократно запускать этот макрос, при этом содержание таблицы Общая ведомость останется неизменным.

Создание кнопочных форм-меню

Задание 4.Создайте с помощью конструктора форму-меню с кнопками для выполнения ранее составленных запросов, вывода форм и отчетов и запуска макросов. Форма-меню должна появляться автоматически сразу после загрузки базы данных. В форме должна быть также кнопка для закрытия базы данных и выхода из Access.

Технология

1. Создайте макрос для автозагрузки формы-меню. Для этого в окне базы данных в списке объектов выберите Макросы и щелкните по кнопке Создать. В окне макроса в столбце Макрокоманды разверните список и выберите макрокоманду Открыть форму. В строку аргумента Имя формы введите текст: МЕНЮ. Закройте и сохраните макрос, присвоив ему имя Autoexec.

2. Создайте еще один макрос для выхода из Access. Для этого в новый макрос введите всего одну макрокоманду Выход. Выберите для аргумента Параметры значение Сохранить все. Сохраните макрос, присвоив ему имя Выход из Access.

3. Создайте макрос для выполнения запроса Подсчет коммерческих по группам. Для этого в новый макрос введите одну макрокоманду ОткрытьЗапрос. Для определения аргумента Имя запроса выберите из раскрывающегося списка название запроса: Подсчет коммерческих по группам. Режим данных - только чтение. Закройте и сохраните макрос, присвоив ему имя Количество коммерческих студентов в группах.

4. Используя макрокоманды ОткрытьФорму и ОткрытьОтчет, аналогичным образом можно создать макросы из одной команды для открытия одной из ранее созданных форм и одного отчета.

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

6. Введите в область заголовка формы надпись База данных Академии. Подберите оптимально местоположение надписи, ее размер и шрифт.

7. Расположите окна формы-меню и вкладки Макросы базы данных так, чтобы они были одновременно видны. Перетащите мышью все созданные значки макросов (кроме макроса Autoexec) из вкладки окна базы данных в окно формы-меню. Подберите надлежащий размер и местоположение значков, превратившихся в кнопки меню. Отредактируйте названия кнопок меню.

8. Перейдите в режим просмотра формы. Проверьте работу меню. Сохраните форму и присвойте ей имя МЕНЮ.

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

10. Для того, чтобы сделать рельефными кнопки формы снимите флажок Элементы управления из тем Windows в формах, расположенный на вкладке Формы и отчеты в окне СЕРВИС/Параметры. Примените серый цвет заливки для всех областей формы.

Рис. 7.3. Примерный вид формы меню

 

11. Закройте базу данных и вновь ее загрузите. Форма МЕНЮ должна автоматически появиться на экране.

Задание 5.Создайте с помощью диспетчера кнопочных форм главную кнопочную форму и дополнительные к ней страницы для работы с двумя задачами: Учебный процесс и Оплата обучения. Поместите на кнопочных формах-страницах кнопки для запуска основных процедур, обеспечивающих решение соответствующих задач. Создайте в главной кнопочной форме кнопку для выхода из приложения (закрытия базы данных), кнопку для выхода из Access, кнопку для перехода в режим редактирования самой кнопочной формы. Предусмотрите в кнопочных формах-страницах кнопки возврата к главной кнопочной форме.

Обеспечьте открытие главной кнопочной формы при открытии базы данных Академия. Запретите пользователям работу с базой данных через окно базы данных.

 

Технология

1. Для запуска диспетчера кнопочных форм выполните команду СЕРВИС/Служебные программы/Диспетчер кнопочных форм. После подтверждения необходимости создать кнопочную форму появится окно диспетчера, содержащее строку с названием главной кнопочной формы Главная кнопочная форма (по умолчанию).

2. Добавьте к главной форме одну страницу. Для этого щелкните по кнопке Создать и введите в окно Создание имя новой страницы кнопочной формы: Учебный процесс. Щелкните по кнопке Ok. Введенная строка появится в окне диспетчера. Добавьте еще одну страницу, еще раз щелкнув по кнопке Создать. Введите название страницы: Оплата обучения. Окно диспетчера кнопочных форм примет вид как на рис. 7.4.

Рис. 7.4. Вид окна Диспетчер кнопочных форм

 

3. Создайте в главной кнопочной форме кнопки перехода на другие страницы. Для этого в окне диспетчера выделите строку Главная кнопочная форма и щелкните по кнопке Изменить. Появится окно Изменение страницы кнопочной формы. Щелкните по кнопке Создать. Введите в окне Изменение элемента кнопочной формы значение поля Текст - Учебный процесс. Выберите из списков значения полей Команда - Перейти к кнопочной форме, Кнопочная форма - Учебный процесс. Щелкните по кнопке Ok. По аналогии, еще раз щелкнув по кнопке Создать, определите кнопку для перехода на страницу Оплата обучения.

4. Создайте кнопки управления для запуска процедур на странице Учебный процесс. Для этого выделите в окне диспетчера строку Учебный процесс и щелкните по кнопке Изменить. В окне Изменение страницы кнопочной формы щелкните по кнопке Создать. Появится окно Изменение элемента кнопочной формы. Введите в поле Текст название кнопки: Создание экзаменационных ведомостей. В поле Команда выберите из списка команду Выполнить макрос. В поле Макросвыберите из списка Макрос для создания ведомостей. Щелкните по кнопке Ok.

5. Аналогично пункту 3 добавьте на страницу формы Учебный процесс кнопку для формирования общей ведомости с помощью соответствующего макроса. Добавьте на эту же страницу кнопки для вывода форм и отчетов, обслуживающих учебный процесс.

6. Поместите на страницу формы Учебный процесс кнопку для возврата на главную кнопочную форму. Для этого, щелкнув по кнопке Создать определите следующие значения полей: Текст - Возврат к главной форме, Команда - Перейти к кнопочной форме, Кнопочная форма - Главная кнопочная форма. Щелкните по кнопке Ok.

7. Аналогично п.п. 4-7 создайте кнопки для выполнения процедур и возврата в главную кнопочную форму на странице Оплата обучения.

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

9. Добавьте на главную кнопочную форму кнопку выхода из Access. Действуя аналогично п.8, в окне Изменение элемента кнопочной формы введите название кнопки: Выход из Access, выберите команду: Выполнить макрос, выберите макрос: Выход из Access. Закройте окно изменения страницы и окно диспетчера.

10. Проверьте работу кнопочной формы. Для этого в окне базы данных щелкните по объекту Формы и откройте форму Кнопочная форма. Совершите переход на страницу Учебный процесс, запустите кнопками процедуры, затем вернитесь в главную форму. Закройте базу данных.

11. Откройте базу данных Академия и добавьте в главную кнопочную форму еще одну кнопку для редактирования самой кнопочной формы, необходимую для дальнейшего совершенствования схемы управления приложением в будущем. Для этого выполните команду СЕРВИС/Слу­жеб­ные программы/Диспет­чер кнопочных форм. Выделите в окне диспетчера строку Главная кнопочная форма и щелкните по кнопке Изменить. В окне Изменение страницы кнопочной формы щелкните по кнопке Создать. Введите в окне Изменение элемента кнопочной формы значение поля Текст: Редактирование кнопочной формы и выберите из списка команду: Конструктор приложения. Щелкните по кнопке Ok.Переместите введенную кнопку вверх на две позиции. Закройте все окна диспетчера кнопочных форм и откройте главную кнопочную форму через окно базы данных. Проверьте правильность работы созданной кнопки.

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

Щелкните правой клавишей мыши по левой части области данных и в контекстном меню выберите пункт Свойства. Установите вкладку Макет. Щелкните по кнопке свойства Рисунок. Появится окно обзора для выбора файла с рисунком. Укажите путь к файлам с рисунками, Выберите какой-либо файл с рисунком. Закройте окно обзора, окно свойств и перейдите в режим просмотра формы. Возможный окончательный вид главной кнопочной формы представлен на рис. 7.5.

13. Обеспечьте открытие главной кнопочной формы при открытии базы данных Академия. Для этого выполните команду СЕРВИС/Параметры запуска. В окне Параметры запуска выберите из списка в поле Вывод формы/страницы значение Кнопочная форма.

Для того чтобы запретить пользователям работу с базой данных через окно базы данных снимите флажок: Окно базы данных. Закройте окно Параметры запуска и щелкните по кнопке главной кнопочной формы Выход из Access. Повторно загрузите Access и откройте базу данных Академия. Убедитесь, что открылась только главная кнопочная форма.

 

Рис. 7.5. Окончательный вид главной кнопочной формы

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.