Интернет Windows Android

Использование макросов в базе данных Microsoft Access, Исследовать возможности Access по созданию макросов. Последовательность выполнения Дополнительные сведения о действиях макросов

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

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

Некоторые из его преимуществ указаны ниже.

Ø Каталог макрокоманд. Макрокоманды систематизированы по типу и поддерживают возможность поиска.

Ø IntelliSense. При вводе выражений функция IntelliSense предлагает возможные варианты и позволяет выбрать нужный.

Ø Сочетания клавиш. Сочетания клавиш ускоряют и упрощают создание макросов.

Ø Программный поток. Строки комментариев и группировка команд позволяют создавать более удобочитаемые макросы.

Ø Условные выражения. Позволяют создавать более сложную логику с использованием вложенных блоков "Если", "Иначе" и "Иначе если".

Ø Повторное использование макросов. В каталоге макрокоманд доступны макросы, которые были созданы ранее и которые можно копировать в текущие макросы.

Ø Упрощённый совместный доступ. Теперь можно скопировать макрос, а затем вставить его в виде XML-кода в сообщение электронной почты, сообщение в группе новостей, блог или на веб-сайт с примерами программного кода.

Если вам приходилось создавать макросы в предыдущих версиях Microsoft Access, вы наверняка помните конструктор макросов, состоящий из трёх столбцов (см. Рис. 3). Условные операторы добавлялись в столбец Условие, макрокоманды - в столбец Макрокоманда, а указанные параметры - в столбец Аргументы.

Рис. 3. Устаревшая версия конструктора макросов

Новый конструктор макросов для Access 2010больше похож на текстовый редактор. Трёх столбцов больше нет. Вместо них макрокоманды и условные операторы отображаются в раскрывающихся списках в привычном для программистов формате. Аргументы отображаются во встроенном диалоговом окне.

Приступим к созданию простого макроса действия в среде конструктора макросов Access 2010.

Конструктор предоставляет несколько способов добавить действие в макрос. Самый простой – воспользоваться выпадающим списком (см. Рис. 5, стр. 17).

Рис. 4. Внешний вид конструктора макросов

Рис. 5. Выпадающий список конструктора макросов


Рис. 6. Построитель макросов: а) вкладка Конструктор, б) список команд, в) каталог команд

При работе с макросом появляется вкладка «Конструктор» (см. Рис. 6а). Для добавления команды в макросдостаточно выбрать её из списка (см. Рис. 6б) или дважды щёлкнуть её в каталоге команд (см. Рис. 6в). При добавлении команды в построителе макросов появляются дополнительные параметры. Например, при добавлении команды If (если) становятся доступны параметры, позволяющие создавать сложные вложенные условия.

В Access 2010включено 86 встроенных макросов. Многие из них содержат дополнительные аргументы для придания им большей гибкости и функциональности. Например, макросОткрытьФорму предлагает список всех внешних форм из базы данных, также целый ряд дополнительных аргументов (см. Рис. 7, стр. 19). К примеру, изменяя аргумент Режим, можно открывать выбранную форму не только в режиме формы, но и в режимах конструктор, макет и в других.

Как отмечалось выше (стр. 17, Рис. 5), для добавления действий используется выпадающий список, который также можно использовать для добавления блоков (Если … Иначе ).

Рис. 7. Макрос ОткрытьФорму

В конструкторе макросов предыдущих версий Microsoft Access в столбце Условие (см. Рис. 3, стр. 16) можно было создавать простые условные операторы. В конструкторе макросов Access 2010можно создавать более универсальные операторы ЕСЛИ (If) путём добавления операторов Иначе Если (ElseIf) и ИНАЧЕ (Else). Чтобы добавить эти операторы, выберите блок ЕСЛИ и щёлкните в правом нижнем углу блока кода текст ИНАЧЕ Если или ИНАЧЕ . Например, если щёлкнуть текст ИНАЧЕ Если , откроется диалоговое окно ИНАЧЕ Если . По мере ввода кода в поле условия в приложении Microsoft Access с помощью технологии IntelliSenseбудут отображаться идентификаторы, функции и другие элементы базы данных.

Представляют собой как бы контейнер, в котором хранятся простейшие команды (макрокоманды), последовательно выполняющиеся. Закономерно возникает вопрос: «А зачем они тогда нужны, если все простейшие команды и так доступны с помощью команд меню и кнопок панелей инструментов?».

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

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

В форме для просмотра есть кнопка «Ввод данных», при нажатии на которую запускается макрос «ВызовФормыВвода». Первая команда «ОткрытьФорму» загружает вспомогательную форму для изменения информации. Команда «КЭлементуУправления» отправляет нас в невидимое ключевое поле «Код».

«НайтиЗапись» загружает запись с тем же кодом, что в форме для просмотра (если мы просматривали данные по Войтович, то во вспомогательной форме тоже должны быть данные по Войтович). Четвёртая команда «КЭлементуУправления» переводит курсор в поле [Фамилия], т. е в первое поле формы.

Во-вторых , макросы в access обладают возможностью запускаться только при определённых значениях.

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

Кнопка «Просмотр» выводит отчёты на экран, а «Печать» на принтер.

Кнопка «Отмена» закрывает форму «Печать списков состоящих на учёте» без каких-либо других действий.

При выборе переключателя «для всех населённых пунктов» выводится отчёт с общим списком всех нуждающихся в улучшении жилищных условий. При выборе «для конкретного населённого пункта» будет выведен отчёт для выбранного из списка города.

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе?
В-третьих
, макросы в access могут запускаться только при определённых и нужных нам событиях (открытие или закрытие формы, щелчок мышкой, нажатие кнопки и др.).

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

Кнопке «Калькулятор» просто задаётся макрос с единственной макрокомандой «ЗапускПриложения», в которой указывается командная строка к приложению (например, С:\Windows\calc. exe). Хотя можно просто задать гиперссылку кнопке «Калькулятор» на программу calc. exe.

Отчёт предназначен для вывода на экран информации по юбилярам за определённый пользователем месяц. Если в каком-либо месяце нет юбиляров, то, разумеется, в отчёте не будет и записей. Вследствие этого автоматически генерируется событие отчёта «Отсутствие данных», которому мы задали макрос.В приведённом ниже примере стандартному свойству «Отсутствие данных» в некотором отчёте присвоен макрос, состоящий из двух макрокоманд.

Первая макрокоманда «ОтменитьСобытие» просто-напросто не выводит на экран пустой отчёт.

Вторая команда «Сообщение» выводит на экран диалоговое окно с поясняющим текстом. Если бы сообщение не выводилось, то рядовой пользователь не понял бы, почему отчёт не появляется на экране, решив, что произошла ошибка.

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

Access

Исследовать возможности Access по созданию макросов

1. Введение

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

С помощью макросов можно выполнить практически все действия над объектами Access. Существенной особенностью Access по сравнению с такими компонентами Microsoft Office, как Word и Excel, является возможность с помощью макросов и модулей VBA Определять реакцию приложения на различные события в формах и отчетах, такие как нажатие кнопок, изменения данных, открытие и закрытие форм и отчетов, получение формой или элементом управления формы фокуса и т. д.

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

В Microsoft Access 2000 содержится список макрокоманд, сгруппированных по категориям: работа с данными в формах и отчетах; выполнение команд, макросов, процедур и запросов; работа с объектами; импорт/экспорт данных и объектов и прочие. В категорию ” ” собранны все макрокоманды, которые позволяют влиять на интерфейс приложения.

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

Использование макросов оправдано тем, что их легко создавать, и для этого не нужно изучать синтаксис языка программирования. Как будет показано в следующем разделе, для создания макроса требуется знать лишь основные приемы работы в Microsoft Access и Windows, такие как перетаскивание объектов из окна База данных в специальное окно – Конструктор макросов , выбор действия из списка и ввод выражений в ка­честве аргументов макрокоманды. Поэтому, если очень не хочется изучать синтаксис языка VBA или это представляется слишком трудным, смело применяйте макросы, и вы получите приложение с достаточно большими функциональными возможностями.

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

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

Однако использование макросов имеет и некоторые недостатки:

§ Возможности макрокоманд ограничены по сравнению с возможностями языка VBA, поэтому в ряде случаев без программирования на VBA не обойтись, хотя сначала нужно быть уверенным, что эти дополнительные возможности действительно нужны. Язык VBA предоставляет более ши­рокие возможности для работы с данными, позволяет использовать меха­низм программирования объектов для связи с другими приложениями, вызывать функции из библиотек динамической загрузки (DLL) Windows и создавать собственные специализированные функции.

§ Макросы можно использовать практически везде, где используются про­цедуры VBA, однако процедуры VBA, как правило, выполняются быстрее.

§ Макросы являются объектами, существующими отдельно от форм и отче­тов, в которых они используются, поэтому, когда этих объектов стано­вится очень много, их поддержка становится достаточно затруднитель­ной. Процедуры обработки событий VBA, используемые в формах и от­четах, являются неотъемлемой частью этих форм и отчетов, и в этом есть свои преимущества. Например, при переносе форм и отчетов из одной базы данных в другую с ними автоматически переносятся связанные процедуры.

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

2. Основная часть.

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

В Microsoft Access существует специальное средство для создания макросов – Конструктор макросов . Рассмотрим процесс создания макроса с помощью Конструктора.

Конструктор макросов

Открыть окно Конструктор макросов для создания нового макроса можно двумя способами:

1. Раскройте список макросов в окне База данных , щелкнув ле­вой кнопкой мыши по ярлыку Макросы , и нажмите кнопку Создать в верхней части окна.

Рис. 1. Кнопка для создания макроса

2. Щелкните по стрелке вниз на кнопке Новый объект на па­нели инструментов База данных и выберите элемент Макрос.

https://pandia.ru/text/78/436/images/image003_65.jpg" width="395" height="256">

Рис. 3. Конструктор макросов и панель аргументов

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

Строка в столбце Макрокоманда представляет собой поле со спи­ском, в котором можно выбрать нужную макрокоманду.

Строка в столбце Примечание - это обычное текстовое поле, в которое можно ввести комментарий, описывающий выполняемое действие.

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

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

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

Существует еще один очень простой способ ввода макрокоманды. Допус­тим, нужно создать макрос, который должен открывать форму “Вычисление” в приложении “db 1 ”. Для этого в окне База данных нужно щелкнуть по Форме , затем, используя панель инструментов (способ 2), открыть Конструктор макросов и перетащить с помощью мыши Форму “Вычисление” в поле Макрокоманда окна Конструктора макроса.

Тогда в поле Макрокоманда автоматически появится макрокоманда ОткрытьФорму, а на панель аргументов автоматически заполняются поля: в поле Имя формы появляется имя формы “Вычисление”, в поле Режим – значение по умолчанию Форма , в поле Режим окна – значение Обычное. Остальные поля останется пустыми.

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

Рис. 4. Автоматическое создание макрокоманд путем перетаскивания объектов

Аналогично можно создавать макрокоманда, перетаскивая из окна База данных таблицы, запросы, отчеты и другие макросы. При этом будут создаваться соответствующие макрокоманды: ОткрытьТаблицу, ОткрытьЗапрос, ОткрытьОтчет, ЗапускМакроса.

Для ввода аргументов макрокоманды чаще всего требуется выбрать значения из списков или вводить выражения. Для ввода выражений можно воспользоваться построителем выражений, кнопка которого находится справа от поля аргумента. Еще одна кнопка построителя выражений находится на панели инструментов. Как и в других случаях, перед выражением нужно ставить знак равенства (=). Исключения составляют аргумент Выражение макрокоманды задать Значение и аргумент Число повторений макрокоманды ЗапускМакроса. Если ввести знак равенства перед выражением, задающим значение этих аргументов, то оно будет вычисляться дважды, что может привести к нежелательным результатам.

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

Итак, созданная нами макрокоманда будет открывать форму “Вычисление” в режиме Только чтение и показывать в ней только менеджеров по продажам. Как уже было сказано ранее, макрос может содержать последовательность из нескольких макрокоманд. Поэтому в этом же макросе в следующей строке мы выберем макрокоманду Сообщение, которая после открытия формы будет отображать диалоговое окно с сооб­щением о том, какие клиенты представлены в форме. Для этого введем в поле Сообщение на панели аргументов текст сообщения, например

Установлен фильтр по Фамилиям, остальные поля можем оставить без изменения. Аргумент Сигнал определяет, будет ли вывод сообще­ния сопровождаться звуковым сигналом. Аргумент Тип определяет вид диалогового окна сообщения. Аргумент Заголовок позволяет за­дать текст, который будет выведен в заголовке окна сообщения.

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

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

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

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

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

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

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

Рис 5 . Открытие Конструктора макросов

· Нажмите кнопку Имена макросов на панели инструментов. На панели описаний в окне Конструктора макросов появится еще один столбец Имя макроса.

Рис 6. Дополнительный столбец “Имя Макроса

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

Рис 7. Ввод в столбец первого имени макроса

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

Рис 8. Ввод всех макрокоманд и аргументы для каждой макрокоманды в макрос

Для указания конца макроса не требуется отдельной макрокоманды. Access продолжает выполнение мак­роса, входящего в группу, пока не обнаружит строку, которая содержит имя в столбце Имя макроса, либо пока не дойдет до последней строки окна макросов.

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

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

2.3. Запуск макроса из окна Конструктора макроса

Этот способ применения для тестирования только что созданного или исправленного макроса. Если макрос в окне Конструктора макроса один, то для его запуска нужно просто нажать на кнопку Запуск https://pandia.ru/text/78/436/images/image010_13.jpg" width="623" height="362 src=">

Рис 9. Кнопка запуска макроса на панели инструментов

Теперь рассмотрим создание специальной панели инструментов и размеще­ние на ней кнопки вызова макроса.

· Щелкните по ярлыку Макросы на панели объектов в окне База данных и выделите нужный макрос.

· Выберите команду Сервис, Макрос, Создать панель инструментов из мак­роса . На экране появляется пустая панель инструментов.

https://pandia.ru/text/78/436/images/image012_6.jpg" width="63" height="84">

Рис 11. Значок макроса

Кнопка получает такое же название, как имя макроса, для которого она создана.

Тот же самый результат можно получить другим способом:

· Откройте окно Настройка , щелкнув правой кнопкой мыши по панели инструментов.

· В появившемся диалоговом окне раскройте вкладку Панели инструментов и нажмите кнопку Создать.

Рис 12. Диалоговое окно “Настройка ” с вкладкой “Панель Инструментов ”, кнопка “Создать

· В появившемся диалоговом окне введите имя новой панели инструмен­тов мои макросы и нажмите кнопку ОК. Появится пустая панель инстру­ментов.

Рис 13. Ввод имени новой Панели Инструментов

· Выберите вкладку Команды .

· Выберите в списке Категории значение Все макросы , а в списке Команды найдите макрос «Open».

· Перетащите этот макрос с помощью мыши на пустую панель инструмен­тов.

https://pandia.ru/text/78/436/images/image016_4.jpg" width="176" height="252 src=">

Рис 15. Контекстное меню только что созданной кнопки

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

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

https://pandia.ru/text/78/436/images/image018_4.jpg" width="72" height="55 src=">

Рис 17. Выбранный рисунок на кнопке для изменения

· Нажмите кнопку Изменить выделенный объект в диа­логовом окне Настройка .

· Выберите в контекстном меню команду Вставить значок для кнопки .

https://pandia.ru/text/78/436/images/image020_3.jpg" width="291" height="312">

Рис 19. Свойство кнопки “Open

· Введите желаемый текст в поле Всплывающая подсказка .

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

Если нужно создать панель инструментов для вызова нескольких макросов, мы рекомендуем объединить эти макросы в одну группу (создание группы макросов было описано в предыдущем разделе). Создание такой панели ин­струментов можно осуществить с помощью одной команды Сервис, Макрос, Создать панель инструментов из макроса. Попробуйте сделать это для одной из групп макросов в базе данных «db1», например, «Open». С помощью указан­ной команды создается панель инструментов с кнопками для вызова каж­дого макроса из группы, причем на кнопках отображаются имена соответст­вующих макросов. Новая панель инструментов получает такое же имя, как имя группы макросов. При желании можно заменить текст на кнопках значками, как это было описано выше.

2.7. Связывание макросов с событиями .

В базе данных хранится информация о состоянии её объектов. Любое изменение состояния формы или отчета называется событием. Каждый из этих объектов имеет свой набор событий.

С событиями удобно связывать макросы. Попробуем связать созданный нами макрос Сообщение с открытием базы данных:

· Маркируйте макрос Размещение на экране в окне базы данных.

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

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

· Чтобы проверить работоспособность макроса, закройте, а затем откройте базу данных.

Если имя AutoExec присвоено макрогруппе, то при открытии базы данных будет выполнен только первый макрос этой группы! Чтобы при загрузке базы последовательно приводились в исполнение несколько макросов, введите в макрос AutoExec макрокоманду ЗапускМакроса, что позволит выполнить макрос с произвольным именем (имя задается аргументом) и вернуться к следующей за ЗапускМакроса макрокоманде в макросе AutoExec .

Макрос AutoExec не выполняется, если перед открытием базы данных нажать и удерживать клавишу .

2.8. Связывание макроса с кнопкой

Целесообразно создавать элементы управления (например, кнопки) для вызова макросов. Это значительно упрощает и ускоряет доступ к ним. Удобным местом для размещения таких элементов является заголовок или примечание формы.

В качестве упражнения попробуем связать с кнопкой макрос, который маркирует активную запись формы и копирует ее в буфер обмена:

· Создайте макрос Копировать, состоящий из следующих макрокоманд:

Макрокоманда Аргумент

ВыполнитьКоманду Select Record

ВыполнитьКоманду Copy

· Сохраните макрос и закройте его окно.

· Откройте форму Переключатель и активизируйте режим конструктора.

· Вызовите команду Слева направо меню Окно.

· Маркируйте макрос Копирование записи в окне базы данных и перетащите его в область заголовка проекта формы.

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

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

Имя макроса автоматически появляется внутри кнопки. Если оно слиш­ком длинное, размер кнопки следует увеличить. Чтобы на кнопке была видна вся надпись, можно уменьшить размер шрифта или создать надпись, отли­чающуюся от имени макрокоманды. Редактирование надписи выполняется после щелчка на кнопке. Для выхода из режима редактирования достаточно щелкнуть вне кнопки.

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

Рис 21. Окно свойств кнопки

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

2.9. Вызов приложений и управление ими

С помощью макроса можно запустить из Access 2000 приложения Microsoft Office 2000, а также программы, работающие под управлением Windows 98, Windows NT или DOS (например, чтобы выполнить некоторые вычисления с помощью Excel 2000 или сделать небольшие заметки посредством редакторов Notepad и Word 2000). Вызов выполняется одинаково во всех случаях и заключается главным образом в указании имени запускаемой программы. Макрос для вызова прикладной программы можно связать с кнопкой формы, ускорив таким образом доступ к нужному приложению:

· Создайте новый макрос. В первой строке введите макрокоманду ЗапускПриложения.

Рис 22. Создание макрокоманды “ЗапускПриложения

· В качестве значения аргумента Командная строка введите имя запускае­мой программы, например WinWord.

Рис 23. Командная строка с аргументом запускаемой программы WinWord

· Сохраните макрос под именем Заметки.

Рис 24. Ввод имени макроса

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

https://pandia.ru/text/78/436/images/image027_2.jpg" width="600 height=409" height="409">

Рис 26. Окно текстового редактора Word

При вызове программы всегда приводится полная спецификация ее файла. При этом вводить расширение не следует. Каталог, в котором хранится файл, необходимо указывать только в том случае, если он не задан командой PATH в файле AUTOEXEC. BAT. Например:

C:\Program Files\NC\nc

Как правило, при вызове прикладных программ, входящих в комплект поставки Windows 98, папка Windows указывается в команде PATH. Поэтому имя редактора в данном макросе приведено без указания каталога.

Следите за тем, чтобы после окончания сеанса работы редактор был закрыт корректно.

2.10.

Запуская прикладные программы с помощью макрокоманды ЗапускПриложения, можно указывать ключи, которые обычно вводятся в командной строке после имени программы при запуске с уровня DOS. Эти ключи служат для задания режима работы прикладной программы. Если, к примеру, из макроса запускается редактор Word 2000, то параметр /t имя документа приме­няется для загрузки документа с указанным именем, который используется в качестве шаблона. Ключ / n указывается при запуске Word 2000 без открытия нового документа. Способ указания ключей в аргументе Командная строка такой же, как в командной строке DOS:

C:\Program Files\Microsoft Office\0ffice\winword. exe /n

Использование ключей допускается при запуске большинства приклад­ных программ.

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

· Перейдите в окно Word 2000 и вставьте в первую строку документа поля Date и Time .

Рис 27. Ввод даты и времени в текстовый редактор Word

· Сохраните документ Word 2000 под именем Заметки в папке Мои доку­менты, не указывая расширение doc, и закройте окно Word 2000.

· Маркируйте макрос Заметки в окне базы данных и активизируйте режим конструктора.

Рис 28. Режим Конструктора для макроса “Заметки”

· Присвойте аргументу Командная строка значение WinWord Заметки и сохраните макрос.

Рис 29. Ввод аргумента в Командную строку WinWord Заметки

При каждом новом вызове редактора в документ заметок вводятся

системная дата и системное время - таким образом, содержимое автомати­чески протоколируется.

Заключение

В своей дипломной работе , я, исследовал возможности СУБД Access 2000 по созданию макросов. Макрос в Access представляет собой структуру, состоящую из одной или нескольких макрокоманд, которые выполняются либо последовательно, либо в порядке, заданном определенными условиями. Набор макрокоманд в Access очень широк, с помощью макросов можно реализовать многое из того, что позволяют сделать процедура на VBA. Каждая макрокоманда имеет определенное имя и, возможно, один или несколько аргументов, которые задаются пользователем.

Задание

1. Введение

2. Основная часть

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

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

2.3. Создание макроса из окна Конструктора макроса

2.4. Запуск макроса из окна базы данных

2.5. Запуск макроса с помощью кнопки на панели инструментов

2.6. Запрос в режиме таблицы

2.7. Связывание макросов с событиями

2.8. Связывание макроса с кнопкой

2.9. Вызов приложений и управление ими

2.10. Запуск прикладных программ с параметрами

3. Заключение

4. Приложение

5. Список литературы

Список литературы

1. И. Харитонова, В. Михеева, Microsoft Access 2000 в подлиннике.

2. В. Пасько, Для пользователей ПК русифицированная версия Access 97.

Macros can be contained in macro objects (sometimes called standalone macros), or they can be embedded into the event properties of forms, reports, or controls. Embedded macros become part of the object or control in which they are embedded. Macro objects are visible in the Navigation Pane, under Macros ; embedded macros are not.

Each macro is made up of one or more macro actions. Depending on the context you are working in, some macro actions may not be available for use.

Macro Builder

Here are some of the main feature highlights of the Macro Builder.

    Action Catalog Macro actions are organized by type and searchable.

    IntelliSense When typing expressions, IntelliSense suggests possible values and lets you select the correct one.

    Keyboard shortcuts Use key combinations for faster, easier macro writing.

    Program flow Create more readable macros with comment lines and groups of actions.

    Conditional statements Allow for more complex logic execution with support for nested If/Else/Else If.

    Macro reuse The Action Catalog displays other macros you have created, letting you copy them into the one you’re working on.

    Easier sharing Copy a macro, then paste it as XML into an email, newsgroup post, blog, or code sample web site.

Here"s a video that walks you through the main areas of the Macro Builder.

Create a standalone macro

This procedure creates a standalone macro object that will appear under Macros in the Navigation Pane. Standalone macros are useful when you want to reuse the macro in many places of the application. By calling the macro from other macros, you can avoid duplicating the same code in multiple places.

Create an embedded macro

This procedure creates a macro that is embedded in an event property of an object. Such a macro does not appear in the Navigation Pane, but can be called from events such as On Load or On Click .

Because the macro becomes part of the form or report object, embedded macros are recommended for automating tasks that are specific to a particular form or report.

Add actions to a macro

Actions are the individual commands that make up a macro, and each is named according to what it does, for example, FindRecord or CloseDatabase .

Step 1: Browse or search for a macro action

The first step in adding an action is finding it in the Add New Action drop-down list or in the Action Catalog.

    By default, the Add New Action drop-down list and the Action Catalog only display the actions that will execute in non-trusted databases. To see all actions:

    • On the Design tab, in the Show/Hide group, click Show All Actions .

    If the Action Catalog is not displayed, on the Design tab, in the Show/Hide group, click Action Catalog .

To find an action, use one of the following methods:

    Click the arrow in the Add New Action drop-down list, and scroll down to find the action. Program flow elements are listed first, and then the macro actions are listed alphabetically.

    Browse for the action in the Action Catalog pane. The actions are grouped by category. Expand each category to view the actions. If you select an action, a short description of the action appears at the bottom of the Action Catalog.

    Search for the action in the Action Catalog pane by typing in the Search box at the top of the pane. As you type, the list of actions is filtered to show all macros that contain that text. Access searches both the macro names and their descriptions for the text you enter.

Step 2: Add an action to a macro

Once you have found the macro action you want, add it to the macro by using one of these methods:

    Select an action in the Add New Action list, or just begin typing the action name in the box. Access adds the action at the point where the Add New Action list was displayed.

    Drag the action from the Action Catalog to the macro pane. An insertion bar appears to show you where the action will be inserted when you release the mouse button.

    Double-click the action in the Action Catalog.

    • If an action is selected in the macro pane, Access adds the new action just below the selected one.

      If a Group , If , Else If , Else , or Submacro block is selected in the macro pane, Access adds the new action to that block.

      If no action or block is selected in the macro pane, Access adds the new action to the end of the macro.

      • If you have already created one or more macros, they are listed under the In this Database node in the Action Catalog.

        • Dragging a standalone macro (one that is listed under Macros ) into the macro pane creates a RunMacro action that runs the macro you dragged in. You can then use the drop-down list to call submacros, if present.

          If you just want to copy the actions from a standalone macro into the current macro (instead of creating a RunMacro action), right-click it in the Action Catalog, and then click Add Copy of Macro .

          Dragging an embedded macro (one that is listed under a form or report object) into the macro pane copies the actions from that macro into the current macro.

      • You can also create an action by dragging a database object from the Navigation Pane to the macro pane. If you drag a table, query, form, report, or module to the macro pane, Access adds an action that opens the table, query, form, or report. If you drag another macro into the macro pane, Access adds an action that runs the macro.

Step 3: Fill in arguments

Most macro actions require at least one argument. You can view a description of each argument by selecting the action and then moving the pointer over the arguments. For many arguments, you can select a value from a drop-down list. If the argument requires you to type in an expression, IntelliSense helps you enter the expression by suggesting possible values as you type, as shown in the following illustration:

When you see a value that you want to use, add it to your expression by double-clicking it or using the arrow keys to highlight it and then pressing the TAB or ENTER key.

For more information about creating expressions, see the article Introduction to expressions .

About using IntelliSense with properties in web databases

When you are creating an embedded UI macro on a web-compatible form, IntelliSense allows you to add any form property to an expression. However, in a web database, only a subset of form properties can be accessed by using UI macros. For example, given a control named Control1 on a form named Form1, IntelliSense will let you add !!. to an expression in a UI macro. However, if you then publish the database to Access Services, the macro containing that expression will generate an error when it is run on the server.

The following table shows the properties that you can use in UI macros in web databases:

Properties that you can use

Caption, Dirty, AllowAdditions, AllowDeletions, AllowEdits

Caption, Visible, Fore Color, Back Color

Visible, Enabled

Caption, Visible, Enabled, Fore Color

Enabled, Visible, Locked, Fore Color, Back Color, value

Visible, Back Color

Enabled, Visible, Locked, Value

Enabled, Visible, Locked, Value

Enabled, Visible Locked

Navigation Control

Enabled, Visible

Move an action

Actions are executed in order, from the top to the bottom of the macro. To move an action up or down in the macro, use one of the following methods:

    Drag the action up or down to where you want it.

    Select the action, and then press CTRL + UP ARROW or CTRL + DOWN ARROW.

    Select the action, and then click the Move Up or Move Down arrow on the right side of the macro pane.

Delete an action

To delete a macro action:

    Select the action, and then press the DELETE key. Alternatively, you can click the Delete (X) button on the right side of the macro pane.

    • If you delete a block of actions, such as an If block or a Group block, all the actions in the block are deleted as well.

      The Move up , Move down , and Delete commands are also available on the shortcut menu that appears when you right-click a macro action.

Control program flow with If, Else If, and Else

To execute macro actions only when certain conditions are true, you use an If block. This replaces the Condition column that was used in earlier versions of Access. You can extend an If block with Else If and Else blocks, similar to other sequential programming languages like VBA.

The following illustration shows a simple If block, including Else If and Else blocks:

The If block executes if the ExpirationDate field is less than the current date.

The Else If block executes if the ExpirationDate field is equal to the current date.

The Else block executes if none of the previous blocks do.

The If block ends here.

Add an If block to a macro

    Select If from the Add New Action drop-down list, or drag it from the Action Catalog pane to the macro pane.

    In the box at the top of the If block, type an expression that determines when the block will be executed. The expression must be Boolean (that is, one that evaluates to either Yes or No).

    Add actions to the If Add New Action drop-down list that appears within the block, or by dragging them from the Action Catalog pane to the If block.

Add Else or Else If blocks to an If block

    Select the If block , and then on the lower right corner of the block, click Add Else or Add Else If .

    If you are adding an Else If block, type an expression that determines when the block will be executed. The expression must be Boolean (that is, one that evaluates to either True or False).

    Add actions to the Else If or Else block by selecting them from the Add New Action drop-down list that appears within the block, or by dragging them from the Action Catalog pane to the block.

    • The commands to add If , Else If , and Else blocks are available on the shortcut menu that appears when you right-click a macro action.

      If blocks can be nested up to 10 levels deep.

Create submacros

Each macro can contain multiple submacros. A submacro is designed be called by name from the RunMacro or OnError macro actions.

You add a Submacro block to a macro in the same way that you a macro action, as described in the section . Once you have added a Submacro block, you can drag macro actions into it, or select actions from the Add New Action

    You can also create a Submacro block by selecting one or more actions, right-clicking them, and then selecting Make Submacro Block .

    Submacros must always be the last blocks in a macro; you cannot add any actions (except more submacros) below a submacro. If you run a macro that only contains submacros without specifically naming the submacro you want, only the first submacro will run.

    To call a submacro (for example, in an event property, or by using the RunMacro action or OnError action), use the following syntax:

    Group related actions together

    You can improve the readability of a macro by grouping actions together and assigning a meaningful name to the group. For example, you could group actions that open and filter a form into a group named “Open and filter form.” This makes it easier to see which actions are related to each other. A Group block does not affect how the actions are executed, and the group cannot be called or run individually. Its primary use is for labeling a group of actions to help you understand the macro as you read it. In addition, while editing a large macro, you can collapse each group block down to a single line, reducing the amount of scrolling you have to do.

    If the actions you want to group are already in the macro, use this procedure to add them to a Group block:

    1. Select the actions that you want to group.

      Right-click the selected actions, and then click Make Group Block .

      In the box at the top of the Group

    If the actions are not already present:

      Drag the Group block from the Action Catalog to the macro pane.

      In the box at the top of the Group block, type a name for the group.

      Drag macro actions from the Action Catalog into the Group block, or select actions from the Add New Action list that appears within the block.

    Group blocks can contain other Group blocks, and can be nested up to a maximum of 9 levels deep.

    Expand and collapse macro actions or blocks

    When you create a new macro, the macro builder displays macro actions with all arguments visible. Depending on the size of the macro, you might want to collapse some or all of the macro actions (and blocks of actions) while you are editing the macro. This makes it easier to get an overall view of the structure of your macro. You can expand some or all of the actions as needed to edit them.

    Expand or collapse a single macro action or block

      Click the plus (+ ) or minus (- ) sign to the left of the macro or block name. Alternatively, press the UP ARROW and DOWN ARROW keys to select an action or block, and then press the LEFT ARROW or RIGHT ARROW keys to collapse or expand it.

    Expand or collapse all macro actions (but not blocks)

      On the Design tab, in the Collapse/Expand group, click Expand Actions or Collapse Actions .

    Expand or collapse all macro actions and blocks

      On the Design tab, in the Collapse/Expand group, click Expand All or Collapse All .

    Tip: You can “peek” inside a collapsed action by moving the pointer over the action. Access displays the action arguments in a tooltip.

    Copy and paste macro actions

    If you need to repeat actions that you have already added to a macro, you can copy and paste the existing actions much as you would do with paragraphs of text in a word processor. When you paste actions, they are inserted just below the currently selected action. If a block is selected, the actions are pasted inside the block.

    Share a macro with others

    When you copy macro actions to the clipboard, they can be pasted as Extensible Markup Language (XML) into any application that accepts text. This enables you to send a macro to a colleague via an e-mail message, or post the macro on a discussion forum, blog, or other Web site. The recipient can then copy the XML and paste it into their Access 2010 Macro Builder. The macro is recreated just as you wrote it.

    Run a macro

    You can run a macro by using any of the following methods:

      Double-click the macro in the Navigation Pane.

      Call the macro by using the RunMacro or OnError macro action.

      Enter the macro name in an Event property of an object. The macro will run when that event is triggered.

    Debug a macro

    If you are having problems getting a macro to run, there are a couple of tools you can use to get to the source of the problem.

    Add error-handling actions to a macro

    We recommend adding error handling actions to each macro as you write it, and leaving them in the macro permanently. When you use this method, Access displays descriptions of errors as they occur. The error descriptions help you understand the error so that you can correct the problem more quickly.

    Use the following procedure to add an error-handling submacro to a macro:

      Submacro from the Add New Action drop-down list.

      In the box just to the right of the word Submacro , type a name for the submacro, such as ErrorHandler .

      From the Add New Action drop-down list that appears within the Submacro block, select the MessageBox macro action.

      In the Message box, type the following text: =.

      At the bottom of the macro, select OnError from the Add New Action drop-down list.

      Set the Go to argument to Macro Name .

      In the Macro Name box, type the name of your error-handling submacro (in this example, ErrorHandler ).

      Drag the OnError macro action to the very top of the macro.

    The following illustration shows a macro with the OnError action and a Submacro that is named ErrorHandler .

    The OnError macro action is placed at the top of the macro, and calls the ErrorHandler submacro in the event of an error.

    The ErrorHandler submacro only runs if it is called by the OnError action, and displays a message box that describes the error.

    Use the Single Step command

    Single Step is a macro debugging mode that you can use to execute a macro one action at a time. After each action is performed, a dialog box appears that displays information about the action, and any error codes that occurred as a result. However, because there is no description of the error in the Macro Single Step dialog box, we recommend using the error-handling submacro method described in the previous section.

    To start Single Step mode:

      Open the macro in Design view.

      On the Design tab, in the Tools group, click Single Step .

      Save and close the macro.

    Next time you run the macro, the Macro Single Step dialog box appears. The dialog box displays the following information about each action:

      Condition (for If blocks)

    • Error Number (an error number of 0 means no error occurred)

    As you step through the actions, click one of the three buttons in the dialog box:

      To see information about the next action in the macro, press Step .

      To stop any macros that are currently running, click Stop All Macros . Single Step mode will still be in effect the next time you run a macro.

      To exit Single Step mode and continue running the macro, click Continue .

      • If you press Step after the last action in a macro, Single Step mode will still be in effect the next time you run a macro.

        To enter Single Step mode while a macro is running, press CTRL+BREAK.

        To enter Single Step mode at a specific point in a macro, add the SingleStep macro action at that point.

        Single Step mode is not available in a Web database.

    Convert a macro to VBA code

    Macros provide a subset of the commands that are available in the Visual Basic for Applications (VBA) programming language. If you decide you need more functionality than macros can provide, you can easily convert a standalone macro object to VBA code, and then make use of the expanded feature set that VBA provides. Keep in mind, however, that VBA code will not run in a browser; any VBA code that you add to a Web database will only run when the database is open in Access.

    Note: You cannot convert embedded macros to VBA code.

    To convert a macro to VBA code:

      In the Navigation Pane, right-click the macro object and then click Design view.

      On the Design tab, in the Tools group, click Convert Macros to Visual Basic .

      In the Convert macro dialog box, specify whether you want error handling code and comments added to the VBA module, and then click Convert .

    Access confirms that the macro was converted, and opens the Visual Basic Editor. Double-click the Converted Macro in the Project pane to view and edit the module.

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

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

В табл. 11.1 содержится список макрокоманд Microsoft Access 2002, сгруппированных по категориям: работа с данными в формах и отчетах; выполнение команд, макросов, процедур и запросов; работа с объектами; импорт/экспорт данных и объектов и прочие. В категорию "Прочие" собраны все макрокоманды, которые позволяют влиять на интерфейс приложения.

Категория Назначение Макрокоманда
Работа с данными в формах и отчетах Отбор данных Применить Фильтр (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) Сигнал (Веер)

Таблица 11.1. Макрокоманды Microsoft Access 2002

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

По сравнению с предыдущей версией 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), наполненное множеством таблиц, запросов, форм и отчетов, а некую понятную форму, с помощью которой можно было бы сразу производить желаемые действия и т. д.

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

Однако использование макросов имеет и некоторые недостатки, о которых здесь уместно сказать.

  • Возможности макрокоманд ограничены по сравнению с возможностями языка VBA, поэтому в ряде случаев без программирования на VBA не обойтись, хотя сначала нужно быть уверенным, что эти дополнительные возможности действительно нужны. Язык VBA предоставляет более широкие возможности для работы с данными, позволяет использовать механизм программирования объектов для связи с другими приложениями, вызывать функции из библиотек динамической загрузки (DLL) Windows и создавать собственные специализированные функции.
  • Макросы можно использовать практически везде, где применяются процедуры VBA, однако процедуры VBA, как правило, выполняются быстрее.
  • Макросы являются объектами, существующими отдельно от форм и отчетов, в которых они используются, поэтому, когда этих объектов становится очень много, их поддержка достаточно трудоемка. Процедуры обработки событий VBA являются неотъемлемой частью форм и отчетов, и в этом есть свои преимущества. Например, при переносе форм и отчетов из одной базы данных в другую с ними автоматически переносятся связанные процедуры.

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