Макросы
Просмотров: 6 745 |
Комментарии (0)
26 май 2011 |

Основной набор средств Microsoft Access, который мы рассматривали в предыдущих главах книги, ориентирован на пользователей, не владеющих языками программирования. Для программистов же к этим средствам добавлены макросы (небольшие программы на языке макрокоманд системы Access) и модули (процедуры на языке Visual Basic for Application, VBA). С их помощью можно существенно расширить функциональные возможности создаваемого вами приложения и настроить его на нужды конкретных пользователей. В этой главе мы познакомимся с одним из этих средств — макросами и одним из языков программирования Access — языком макрокоманд.

Использование макросов в базе данных Microsoft Access

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

Макрос в Access представляет собой структуру, состоящую из одной или нескольких макрокоманд, которые выполняются либо последовательно, либо в порядке, заданном определенными условиями. Набор макрокоманд в Access очень широк, с помощью макросов можно реализовать многое из того, что позволяют сделать процедуры на языке VBA. Каждая макрокоманда имеет определенное имя и, возможно, один или несколько аргументов, которые задаются пользователем. Например, при использовании макрокоманды ОткрытьФорму (OpenForm) в качестве аргументов необходимо задать, по крайней мере, имя открываемой формы и режим вывода ее на экран.

Макрокоманды Microsoft Access  

Категория

Назначение

Макрокоманда

Работа с данными в формах и отчетах

Отбор данных

Применить Фильтр (ApplyFilter)

 

Перемещение по данным

СледующаяЗапись (FindNext)

 НайтиЗапись (FindRecord) КЭлементуУправления (GoToControl)

НаСтраницу (GoToPage) НаЗапись (GoToRecord)

 

Обновление данных или экрана

Обновление (Requery) ПоказатьВсеЗаписи

( ShowAllRecords )

Выполнение

Выполнение команды

Выполнить Команду (RunComraand)

 

Выполнение макроса, процедуры или запроса

ЗапускМакроса (RunMacro) Залуск Программы (RunCode) ОткрытьЗапрос (OpenQuery) 3anycк 3anpoca SQL (RunSQL)

 

Выполнение другого приложения

Запуск Приложения (RunApp)

 

Прерывание выполнения

Отменить Событие (CancelEvent)

Остановить ВсеМакросы (StopAllMacros) ОстановитьМакрос (StopMacro)

 

Выход из Microsoft Access

Выход (Quit)

Импорт/экспорт

Передача объектов Microsoft Access в другие приложения

Вывести В Формате (OutputTo) ОтправитьОбъект (SendObject)

 

Преобразование формата данных

Преобразовать БазуДанных (Transfer Database) ПереносБазыДанныхSQL (TransferSQLDat abase) Преобразовать ЭлектроннуюТаблицу (Transfer Spreadsheet) ПреобразоватьТекст (TransferText )

Работа с объектами

Копирование, переименование и сохранение объекта

КопироватьОбъект (CopyObject)

Копировать Файл БазыДанных

(CopyDatabase File)

Переименовать (Rename) Сохранить (Save)

Прочие

Вывод на экран или скрытие встроенной или специальной панели инструментов

 

Подача звукового сигнала

ПанельИнструментов (ShowToolbar)

 

 

 

Сигнал (Веер)

 

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

По сравнению с предыдущей версией Access, в Microsoft Access 2002 появились три новые макрокоманды:

ПереносБазыДанныхSQL (TransferSQLDatabase) — переносит базу данных Microsoft SQL Server 7.0 и выше на другой сервер;

КопироватьФайлБазыДанных(CopyDatabaseFile) — выполняет копирование текущей базы данных Microsoft SQL Server 7.0 и выше, присоединенной к проекту Access;

ОткрытьФункцию (OpenFunction) — выполняет функцию, определенную пользователем, в проекте Access. Эта функция представляет собой запрос, который, используя входные параметры, возвращает результаты так же, как и сохраненная процедура.

Использование макросов оправдано тем, что их легко создавать, и для этого не нужно изучать синтаксис языка программирования. Для создания макроса требуется знать лишь основные приемы работы в Microsoft Access и Windows, такие как перетаскивание объектов из окна База данных (Database) в специальное окно — Конструктор макросов (Macro Design), выбор действия из списка и ввод выражений в качестве аргументов макрокоманды. Поэтому, если очень не хочется изучать синтаксис языка VBA или это представляется слишком трудным, смело применяйте макросы, и вы получите достаточно функциональное приложение.

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

На рис. 7.1 проиллюстрирован выбор макрокоманды ПрименитьФильтр (Applyfilter). На панели аргументов есть два поля, которые помогут задать имя фильтра и условие отбора записей. Для того чтобы задать условие отбора записей, можно воспользоваться построителем выражений.

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

Чтобы создать группу макросов:

~   Откройте Конструктор макросов.

~   Нажмите кнопку Имена макросов (Macro Name) на панели инструментов. На панели описаний в окне Конструктора появится еще один столбец - "Имя макроса" (Macro Name) (рис. 7.2).

~   В этот столбец введите имя первого макроса. Другие поля данной строки лучше оставить пустыми - это облегчит перемещение и копирование макрокоманд.

~   Начиная со следующей строки, введите все макрокоманды макроса и соответствующие аргументы для каждой макрокоманды.

~   Пропустите одну строку.

Повторите шаги 3-5 для каждого макроса.

Конструктор макросов и панель аргументов
Рис. 7.1. Конструктор макросов и панель аргументов
Создание группы макросов

Рис.7.2. Создание группы макросов

На рис. 7.2 в окне Конструктора представлен макрос "Сотрудники" (Employees) базы данных (Northwind). Для указания конца макроса не нужно отдельной макрокоманды. Access продолжает выполнение макроса, который входит в группу, пока не окажется строка, которая содержит имя в столбце "Имя макроса" (Macro Name), или пока не дойдет до последней строки окна макросов.

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

Для запуска одного из макросов группы задается полное имя для ссылки на макрос. Полное имя макроса формируется таким способом: ИмяГруппы.ИмяМакроса.

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

Универсальным способом запуска макроса есть использование команды меню Сервис → Макрос → Выполнить макрос (Tools → Macro → Run Macro) (рис. 7.3).

Запуск макроса с помощью команды меню

Рис. 7.3. Запуск макроса с помощью команды меню

В диалоговом окне, которое появится при выборе команды Выполнить макрос (Run Macro), нужно указать (ввести или выбрать из списка) полное имя макроса, то есть ИмяГруппы.ИмяМакроса (рис. 7.4). Этот способ позволяет выполнить макрос из любого активного окна, будь то окно макросов, окно базы данных или, например, Конструктор форм.

Диалоговое окно Запуск макроса
Рис.7.4. Диалоговое окно Запуск макроса

Вернуться назад



Другие новости по теме:

    Друзья сайта
    Календарь

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



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



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



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



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