Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы_данных.pdf
Скачиваний:
39
Добавлен:
07.06.2015
Размер:
964.91 Кб
Скачать

Рис. 6.13. Отчет отАбитуриенты в режиме конструктора

6.9. Автоматизация работы приложения с помощью макросов

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

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

Microsoft Access предоставляет различные типы макрокоманд, позволяющих автоматизировать работу приложения. Рассмотрим основные действия, выполняемые с помощью макрокоманд:

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

·Для запуска других макросов используется макрокоманда ЗапускМакроса. Выполнение процедуры или функции VBA осуществляется макрокомандой ЗапускПрограммы. Чтобы прервать выполнение текущего макроса или всех макросов можно использовать ОстановитьМакрос или ОстановитьВсеМакросы.

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

·Для перемещения, изменения размеров, сворачивания или восстановления любого окна внутри рабочей области Access используются макрокоманды СдвигРазмер,

Свернуть, Развернуть, Восстановить. Чтобы передавать любому элементу управления в окне используется КЭлементуУправления.

·Для вывода на экран информационных сообщений и подачи звуковых сигналов для привлечения внимания к вашим сообщениям используются макрокоманды

Сообщение и Сигнал.

·Для переименования любого объекта базы данных, копирования выбранного объекта в текущую или другую базу данных Access, сохранения или удаления объектов из вашей базы данных используются макрокоманды Переименовать,

КопироватьОбъект, Сохранить, УдалитьОбъект. Кроме того, макрокоманды ПреобразоватьБазуДанных, ПреобразоватьЭлектроннуюТаблицу,

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

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

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

программирование в Access в целом.

Создание простого макроса

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

увидеть все четыре столбца, показанные на рис. 14, нажав кнопки Имена макросов () и Условия () на панели инструментов.

Рис. 6.14. Окно макроса мСообщение

Вправой нижней части окна макроса выводится краткая справка. Содержание сообщения меняется в зависимости от положения курсора в верхней части окна макроса (помните: для получения контекстной справки всегда можно нажать клавишу F1).

Встолбце Макрокоманда задается одна из более чем 49 макрокоманд, предоставляемых Access. Если вы щелкните в любой ячейке столбца Макрокоманда, то в правом конце ячейки появится кнопка со стрелкой вниз. Нажатие этой кнопки открывает список макрокоманд.

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

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

После выбора макрокоманды, такой как Сообщение, Access выведет в нижней части окна макроса ее аргументы.

Как и в случае работы с окнами таблицы и запроса в режиме конструктора, для перехода из верхней части окна макро в нижнюю и обратно вы можете воспользоваться клавишей

F6.

Значение аргумента Сообщение представляет собой текст, который Access будет выводить в окне диалога. Аргумент Сигнал задает, будет ли звуковой сигнал сопровождать появление окна диалога. Аргумент Тип позволяет вставить в окно сообщения значок, например красный круг с белым перекрестием. В ячейку аргумента Заголовок вводится текст, который появится в заголовке окна диалога. Используйте в этом макросе установки, приведенные на рис. 6.14. (Полный текст сообщения: База данных «Профконсультант средней школы»).

Перед запуском макрос необходимо сохранить. Выберите команду Файл-> Сохранить (или Файл->Сохранить как/Экспорт). Access откроет окно диалога. Введите имя МакросСообщение и нажмите кнопку ОК, чтобы сохранить макрос.

Проверка работы макроса

Перед запуском макроса неплохо проверить его работу, выполнив макрокоманды в пошаговом режиме. Чтобы начать пошаговую проверку, перейдите в окно базы данных, на вкладке Макросы выделите имя макроса, который вы хотите протестировать, и нажмите кнопку Конструктор. После открытия окна макроса нажмите кнопку По шагам на панели инструментов либо выберите команду Запуск->По шагам.

Теперь после запуска макроса Access будет открывать окно диалога Пошаговое выполнение макроса перед выполнением каждого шага. В этом выводится имя макроса, название макрокоманды, условие ее выполнения и аргументы макрокоманды.

Если в макросе определено более одной макрокоманды, то после первого шага вы вновь вернетесь к окну диалога Пошаговое исполнение макроса, которое покажет следующую готовую к исполнению макрокоманду.

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

Создание сложного макроса

В Microsoft Access внутри одного макроса вы можете задать несколько макрокоманд и порядок их выполнения. Рассмотрим создание макроса с именем Autoexec. Microsoft Access будет запускать этот макрос при открытии базы данных, в которой он хранится. Чтобы избежать запуска макроса Autoexec, при открытии базы данных можно нажать клавишу shift. В этом макросе определены восемь макрокоманд, автоматически выполняемые Access при открытии этой базы данных. Первая макрокоманда ПесочныеЧасы выводит указатель в виде песочных часов, чтобы показать пользователю, что следующие шаги могут занять несколько секунд. Аргумент Включить вывод следующей макрокоманды ВыводНаЭкран установлен в значение Нет, так что во время выполнения макроса вы не увидите на экране лишних изображений. Третья макрокоманда ЗапускМакроса запускает другой макрос мСообщение. Следующая макрокоманда Открытьформу открывает форму фПрофконсультант. Как показано на рис. 6.15, работу этой макрокоманды определяют четыре аргумента: Имя формы задает открываемую форму, Режим устанавливает режим, в котором форма будет открыта. (Этот аргумент может принимать четыре значения: Форма, Конструктор, Просмотр и Таблица). По умолчанию для аргумента Режим данных устанавливается значение Изменение, разрешающее пользователю добавление, удаление и изменение записей во время работы с формой. (Этот аргумент может принимать следующие значения:

Добавление, Изменение и Только чтение.) Для аргумента Режим окна по умолчанию устанавливается значение Обычное. В этом случае форма открывается в режиме, заданном ее свойствами.