Макрокоманда | Назначение |
Сигнал | Выдает звуковой сигнал |
Сообщение | Выводит предупреждающее или информационное сообщение, может подавать звуковой сигнал. Чтобы закрыть окно диалога и продолжить работу, вы можете нажать кнопку ОК. |
УстановитьСообщения | Включает или отключает вывод системных сообщений. Когда аргумент Включить сообщения установлен в значение Да, клавиша Enter назначается в качестве клавиши ответной реакции на все системные предупреждающие или информационные сообщения во время выполнения макроса. Макрокоманда не отключает вывод на экран сообщений об ошибках. Обычно эта макрокоманда используется вместе с командой ВыводНаЭкран, которая отключает обновление экрана до завершения выполнения макроса. |
Переименование, копирование, удаление, сохранение, импорт и экспорт объектов
Макрокоманда | Назначение |
КопироватьОбъект | Копирует объект текущей БД в другую БД Access или в ту же самую под новым именем |
УдалитьОбъект | Удаляет любой объект Access |
Сохранить | Сохраняет любую таблицу, запрос, форму, отчет, макрос или модуль |
ВывестиВФормате | Выводит заданный объект в формате Excel, Word, Notepad, а также запускает соответствующее приложение для редактирования файла |
Переименовать | Присваивает новое имя заданному объекту в текущей БД |
ОтправитьОбъект | Выводит таблицу, запрос или форму в режиме таблицы, данные полей отчета или листинг модуля в файл Excel, Word, Notepad и внедряет данные в сообщение электронной почты. На вашем компьютере должно быть установлено программное обеспечение, отвечающее стандарту MAPI |
ПреобразоватьБазуДанных | Используется при экспорте или импорте данных между текущей и другой БД Access, dBASE, Paradox, FoxPro, SQL. |
ПреобразоватьЭлектроннуюТаблицу | Используется при экспорте или импорте данных между текущей БД и файлами электронных таблиц Excel, Lotus 1-2-3 |
ПреобразоватьТекст | Используется при экспорте или импорте данных между текущей БД и текстовым файлом |
Запуск других приложений для MS-DOS и Microsoft Windows
Макрокоманда | Назначение |
ЗапускПриложения | Запускает приложение MS-DOS или Microsoft Windows |
АВТОМАТИЗАЦИЯ ПРИЛОЖЕНИЯ С ПОМОЩЬЮ МАКРОСОВ
Вы изучили, как выполняются типичные задачи с помощью команд меню и кнопок на панелях инструментов. При работе со своей БД вы могли заметить, что определенные задачи выполняются чаще или регулярнее. Вы можете автоматизировать их, используя макросы для выполнения повторяющихся операций, а затем связывая макросы с такими свойствами событий форм и элементов управления, как свойство формы Текущая запись, свойство командной кнопки Нажатие кнопки или свойство поля Двойное нажатие кнопки. При создании макросов для автоматизации повторяющихся задач вам часто придется ссылаться на форму, отчет или элемент управления формы, чтобы установить свойства или значения.
Ссылки на формы и отчеты
Вы можете ссылаться на форму или отчет по имени, но прежде нужно сообщить Access в какое семейство входит данный объект. Открытые формы находятся в семействе Forms, открытые отчеты – в семействе Reports. Поэтому ссылка на форму или отчет включает в себя имя семейства, за которым следует восклицательный знак, а затем - имя объекта. Если имя объекта не содержит пробелов или специальных символов, то можно просто ввести это имя. Если же пробелы или специальные символы есть, то имя необходимо заключить в квадратные скобки.
Ссылки на свойства форм и отчетов
Для задания ссылки на свойство формы или отчета укажите идентификатор формы или отчета, затем введите точку и после точки добавьте имя свойства. Большинство свойств формы или отчета можно увидеть в режиме конструктора, открыв окно свойств. В Access многие свойства формы можно изменять в режиме формы, а свойства отчета Печать и Форматирование – во время вывода на экран или печати отчета.
Ссылки на элементы управления форм и отчетов и на их свойства
При задании ссылки на элемент управления формы или отчета сначала укажите идентификатор формы или отчета, затем поставьте восклицательный знак и далее добавьте имя элемента управления, заключенное в квадратные скобки. При создании ссылки на свойство элемента управления запишите ссылку на него, и после точки укажите имя свойства. Список большинства свойств элементов управления вы можете увидеть при просмотре формы или отчета в режиме конструктора, выделив нужный элемент управления и открыв окно свойств. Большую часть свойств элементов управления можно изменять в режиме конструктора форм или отчетов.
Ссылки на подчиненные формы и отчеты
Форма, внедренная в другую форму или отчет, содержится в элементе управления Подчиненная форма. Отчет, внедренный внутрь другого отчета, содержится в элементе управления Подчиненный отчет. Ссылаться на подчиненную форму или отчет можно точно так же, как и на любой другой элемент управления. Элемент управления Подчиненная форма имеет специальное свойство Form, которое позволяет ссылаться на форму, внедренную в этот элемент управления. Аналогично, Элемент управления Подчиненный отчет имеет свойство Report, позволяющее ссылаться на отчет, внедренный в этот элемент управления.
Открытие связанной формы
Использование подчиненной формы непрактично в следующих случаях:
· Для просмотра связанных данных требуется внедрение двух или больше подчиненных форм;
· Основная форма слишком мала для отображения всей подчиненной формы;
· Связанная информация вам требуется только время от времени;
В таких случаях для просмотра связанных данных лучше использовать отдельную форму, которую можно открыть с помощью одного из свойств событий. Для предоставления пользователю доступа к связанным данным можно использовать командную кнопку или свойство события Двойное нажатие кнопки элемента управления в основной форме. Этот способ позволяет избежать загромождения экрана, облегчает работу с основной формой, ускоряет переход от одной записи к другой в основной форме.
Синхронизация связанных форм
При открытии дополнительной формы из основной на основе совпадения двух связанных полей в этих формах, данные в дополнительной форме не изменяются при перемещении по записям в основной форме. Необходимо создать макрос для синхронизации вывода данных в двух связанных формах. В окне БД перейдите на вкладку Макросы и нажмите кнопку Создать. Создайте макрос, выбирая макрокоманды в столбце Макрокоманды и вводя соответствующие комментарии в столбце Примечания. Этот макрос имеет пару условий выполнения макрокоманд. Первое условие можно выразить словами: Если основная форма не загружена, выполнить первую макрокоманду – Остановить макрос. Таким образом, если основная форма не открыта, то выполняется макрокоманда Остановить макрос и работа макроса прекращается. Вы можете использовать макрокоманду Применить фильтр для отбора записей в основной форме, но она работает только в том случае, если в текущий момент форма имеет фокус. Макрокоманда Выделить объект позволяет решить эту задачу, но зачем использовать две макрокоманды, если достаточно одной? Оказывается, что вы можете снова выполнить макрокоманду Открыть форму с тем же самым условием отбора, чтобы вывести в форме нужную строку. Если форма уже открыта, макрокоманда Открыть форму устанавливает в ней фокус и применяет заданное условие отбора. Однако ссылаться на «пустое» значение не очень хорошо. При переходе на последнюю запись в основной форме или выборе команды Правка->Перейти->Новая запись вы окажетесь на новой записи, в которой связанное поле не имеет значения. Поэтому имеет смысл организовать проверку значения Null, чтобы скрыть дополнительную форму при нахождении на пустой строке в основной форме. Для проверки этого условия во второй строке макроса используется встроенная функция IsNull. Если значение связанного поля равно Null, макрос скрывает дополнительную форму, устанавливая ее свойство Вывод на экран в значение Ложь. Обратите внимание, что хотя форма не видна на экране, она все равно остается открытой. После создания синхронизирующего макроса необходимо связать его со свойством Текущая запись основной формы. Перейдите на вкладку Формы окна БД и откройте основную форму в режиме конструктора. В конструкторе форм нажмите кнопку Свойства на панели инструментов, затем щелкните в ячейке свойства Текущая запись и в раскрывающемся списке выберите созданный макрос. Сохраните форму и откройте ее в режиме формы, проверьте работу созданного макроса, переходя на другие записи в основной форме. При переходе на пустую запись, дополнительная форма должна исчезнуть с экрана.