Для чего нужны макросы в access. Последовательность выполнения. Что такое макрос

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

Макрос – программа, состоящая из последовательности макрокоманд. Макрокоманда - это инструкция, ориентированная на выполнение определенного действия над объектами Access и их элементами. Например, макрокоманды можно использовать для выполнения следующих действий:

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

Для выполнения запроса на выборку или запроса на изменение;

Для выполнения действий в зависимости от значений в базе данных, форме или отчете;

Для запуска других макросов или процедур VBA;

Для применения фильтра и запуска приложений;

И многое другое.

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

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

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

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

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

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

Использование в макросах ссылок на объекты.

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

Ссылаться на объекты можно по имени, но нужно учесть, что в Access объекты объединяются в семейства. Формы объединены в семейство Формы (Forms), отчеты – в семейство Отчеты (Reports). Поэтому ссылка на объект включает имя семейства и, через восклицательный знак, имя объекта. Например, для ссылки на форму необходимо записать так: Forms ![Товары].

Рис. 13.1.Окно нового макроса

Рис.1 3 . 2 . Список макрокоманд в окне макроса

В ссылке на элемент управления вслед за именем объекта через восклицательный знак записывается имя элемента управления, заключенное в квадратные скобки. Например, в форме КАФЕДРА ссылка на элемент управления Надпись с именем Название записывается так: Forms ![КАФЕДРА]! [Название].

Forms ![Имя формы]! [Имя подчиненной формы]. Forms ![Элемент подчиненной формы]

Структура некоторых макрокоманд.

1. Макрокоманда ОткрытьФорму . Позволяет открывать форму и отбирать данные. Аргументы макрокоманды: Имя формы (из списка выбрать имя), Режим (форма, конструктор, просмотр и др.), Имя фильтра (имя запроса на выбор данных), Условие отбора (условие на языке SQL) и др.

2. Макрокоманда Закрыть . Закрывает форму, отчет, запрос и т.д. Аргументы макрокоманды: Тип объекта (форма, отчет, таблица и др), Имя объекта (Выбирается из списка), Сохранение (да, Нет, Подсказка)

3. Макрокоманда ПрименитьФильтр . Отбирает данные в открытой форме. Аргументы макрокоманды: Имя фильтра (имя запроса на выборку), Условия отбора (выражение SQL без слова WHERE).

4. Макрокоманда ЗадатьЗначение . Проводит вычисления в элементах управления форм, отчетов. Аргументы макрокоманды: Элемент (элемент управления типа Поле ), Выражение (Арифметическое выражение или значение).

5. Макрокоманда Печать . Печатает открытую форму, отчет. Аргументы макрокоманды: Распечатать (Все, Фрагмент, Страницы), Со страницы (Начальная страница печати), По страницу (Конечная страница печати), Разрешение (качество печати: например, среднее), Число копий .

6. Макрокоманда Выход . Осуществляет выход из Access. Аргументы макрокоманды: Параметры (Сохранить все, Подтверждение и др.).

Запуск макроса:

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

- из окна базы данных - нажать на вкладку Макросы , установить курсор на имени макроса и нажать кнопку Запуск ;

- из любого окна Access - следует выполнить команды

Сервис Макрос Выполнить макрос Указать имя макроса ОК

- автоматический запуск макроса при открытии базы данных - задать ему имя AutoExec .

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

Понятие макроса

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

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

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

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

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

Для добавления макросов Access в меню «Создание» выбираем пункт «Макрос». Система открывает окно нового макроса со списком доступных для добавления команд справа. Кроме списка макрокоманд, здесь вы найдете макросы, уже доступные в этой БД, и функции управления создания процедуры для выполнения.

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

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

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

Действия по разработке макросов Access выполняют в конструкторе. Команда выбирается из списка и добавляется в окно макроса. Здесь операция раскрывается и запрашивает ввод параметров.

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

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

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

Макросы на форму Access добавляют сразу на элемент управления. При создании элемента автоматически открывается мастер, определяющий действия, которые выполняет макрос в ответ на событие со стороны этого элемента. Яркий пример - действия при нажатии на кнопку формы.

В мастере выбираем категорию «Разное» - «Выполнить макрос» и выбираем заранее созданный объект из списка предложенных. Таким образом, программа привязывается к элементу формы и реагирует на событие со стороны этого элемента.

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

Процедура запускается в ответ на изменение фокуса, обновление формы, нажатие клавиш и кнопок, движение указателя мыши и т. д. Список событий зависит от элемента управления.

Макросы данных

В версии Access 2010 и выше стали доступны макросы данных. Они вызываются изменениями, происходящими в элементах какого-либо объекта, или независимы и вызываются по наименованию. Благодаря этому типу макросов Access приобретает возможности «продвинутых» СУБД (система управления базами данных).

Теперь возможна фиксация истории изменений строки таблицы, проверка параметров добавляемой записи перед ее вставкой - таким образом в СУБД, например, MS SQL Server работают триггеры. При редактировании отдельных полей система может формировать и отправлять уведомления на электронную почту пользователей.

Эти программные единицы добавляются в режиме таблицы. На вкладке «Работа с таблицами» - «Таблица» выбирается, когда будет срабатывать макрос: до или после изменения/удаления, после вставки. Здесь же можно добавить именованный макрос, вызываемый по наименованию. Список макрокоманд здесь содержит операции, которые выполняются с данными - ошибками в значениях, полями, записями таблиц.

Условия

Часто необходимо, чтобы макрос работал не каждый раз, а только в том случае, когда соблюдается какое-либо условие. Для задания этого условия в макрос Access добавляется макрокоманда «Если» из каталога. Здесь прописывается условие, при котором будет выполняться следующая операция. При необходимости добавляется также команда «Иначе» или целый дополнительный блок «Иначе если».

В приведенном примере мы закрываем форму «Абитуриенты», если поле «Фамилия» пустое. Если же это не так, мы сохраняем запись и только после этого закрываем форму.

Благодаря новому конструктору макросов в Access, начиная с версии 2010, разработчик может гибко настроить систему и обеспечить большую безопасность данных в таблицах. Желаем вам удачи в освоении новых возможностей MS Access.

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.

В 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будут отображаться идентификаторы, функции и другие элементы базы данных.

Макросы в СУБД Microsoft Access

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

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

Сущность макросов

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

Что такое макрос

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

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

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

Когда следует использовать макрос

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

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

    Одновременное открытие нескольких форм и /или отчетов.

    Контроль ввода данных при заполнении форм.

    Перемещение данных между таблицами.

    Выполнение действий при нажатии кнопки макрокоманды.

Окно макросов

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

    В окне базы данных выберите вкладку Макросы .

    Щелкните на кнопке Создать .

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

При открытии нового окна макросов в верхней части отображается два столбца: Макрокоманда и Примечание. При выборе команды Вид – Имена макросов или Вид – Условия появляются два дополнительных столбца – Имя макроса и Условие.

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

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

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

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

1. Откройте новое окно макросов.

2. Щелкните на первой незаполненной ячейке в столбце Макрокоманда.

3. Выберите из списка макрокоманду Песочные Часы.

4. Щелкните на ячейке комментариев напротив введенной макрокоманды Песочные часы.

5. Введите текст Показывать песочные часы во время выполнения макроса.

6. Щелкните на следующей ячейке в столбце Макрокоманда.

7. Выберите из списка макрокоманду Открыть Форму.

8. Щелкните на ячейке Имя формы в области Аргументы макрокоманды.

9. Выберите форму Add a Customer and Pets.

10. Щелкните в столбце Примечания напротив введенной макрокоманды Открыть Форму.

11. Введите Открыть форму Add a Customer and Pets.

12. Щелкните на следующей ячейке в столбце Макрокоманда.

13. Выберите из списка макрокоманду Открыть форму.

14. Щелкните на ячейке Имя формы в области аргументы макрокоманды.

15. Выберите форму Adding Visit Details.

16. Щелкните в столбце Примечания напротив введенной

17. Введите Открыть форму

18. Щелкните на следующей ячейке в столбце Макрокоманда.

19. Выберите из списка макрокоманду Сигнал.

Изменение порядка расположения макрокоманд в макросе

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

    Выделите макрокоманду, щелкнув на области выделения строки слева от имени макрокоманды.

    Снова щелкните на выделенной строке и перетащите ее в верхнюю строку макроса.

Сохранение макроса

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

    Выберите из меню окна макросов команду Файл-Сохранить или щелкните на кнопке Сохранить панели инструментов.

    Если макрос ранее не сохранялся, вам следует ввести его имя в диалоговом окне Сохранение, а затем нажать клавишу Enter или щелкните ОК.

Изменение существующего макроса

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

    В окне базы данных выберите вкладку Макросы.

    Выделите макрос, который вы хотите изменить.

    Щелкните на кнопке Конструктор.

Копирование макросов

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

    Выберите вкладку Макросы в окне базы данных.

    Выделите макрос, который вы хотите копировать.

    Нажмите комбинацию клавиш Ctrl + C или выберите Правка – копировать для копирования макроса в буфер обмена.

    Нажмите Ctrl + V или выберите команду Правка – Вставить для вставки макроса из буфера обмена.

    В диалоговом окне Вставка введите имя нового макроса.

Переименование макроса

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

    Выберите вкладку макросы в окне базы данных.

    Выделите макрос, который вы хотите переименовать.

    Выберите команду Правка – Переименовать или щелкните правой кнопкой мыши и в появившемся меню выберите команду Переименовать.

    Введите новое имя.

Запуск макросов

После создания макрос можно запустить из:

    Окна макросов,

    Окна базы данных,

    Других окон базы данных,

    Других макросов.

Запуск макроса из окна макросов

Макрос можно запустить непосредственно из окна макросов, щелкнув на кнопке запуск или используя команду Запуск.

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

Для запуска макросов из окна базы данных выполните следующие действия.

    выберите вкладку макросы в окне базы данных.

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

    Щелкните дважды на имени этого макроса или щелкните на кнопке Запуск.

Windows 8