Vvmebel.com

Новости с мира ПК
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Макросы в access

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

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

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

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

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

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

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

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

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

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

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

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

Общие сведения о макросах в Access 2007

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

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

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

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

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

Читать еще:  Как поменять язык в майкрософт офис

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

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

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

Примечание: Начиная с Access 2010, интерфейс конструктора макросов был изменен, чтобы создавать и редактировать макросы Access, а также делиться ими было еще проще.

Чтобы открыть конструктор макросов пользовательского интерфейса, сделайте следующее:

На вкладке Создание в группе Макросы и код нажмите кнопку Макрос.

Чтобы открыть конструктор макросов данных, сделайте следующее:

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

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

Функции макросов в Access

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

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

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

Обработка ошибок и устранение неполадок Access предоставляет действия макросов, включая OnError (аналогично оператору «On Error» в VBA) и ClearMacroError, позволяющие выполнять определенные действия, если во время работы макроса возникнет ошибка. Кроме того, действие макроса SingleStep позволяет переходить в режим пошагового выполнения из любой точки макроса, чтобы поэтапно просматривать его работу.

Временные переменные Три действия макросов (SetTempVar, RemoveTempVar и RemoveAllTempVars) позволяют создавать и использовать временные переменные в макросах. Их можно использовать в условных выражениях, чтобы управлять выполняющимися макросами, передавать данные в отчеты или формы либо из них, а также при выполнении любой другой задачи, требующей временного хранилища для значения. Эти временные переменные также доступны в VBA, поэтому с их помощью также можно передавать данные в модули VBA и из них.

Дополнительные сведения о действиях макросов

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

Макросы в access

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

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

Читать еще:  Как удалить старый офис

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Раскройте список макросов в окне База данных (Database), щелкнув левой кнопкой мыши по ярлыку Макросы (Macros), и нажмите кнопку Создать (New) в верхней части окна (рис. 1).
  • Щелкните по стрелке вниз на кнопке Новый объект (New Object) на панели инструментов База данных (Database) и выберите элемент Макрос (Macro).

Окно Конструктора макросов построено аналогично окну Конструктора таблиц, т. е. разделено по горизонтали на две части: панель описаний и панель аргументов.

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

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

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

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

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


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

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

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

Читать еще:  Как узнать версию офиса 2020

Тогда в поле «Макрокоманда» (Action) автоматически появится макрокоманда ОткрытьФорму (OpenForm) (рис. 11.2), а на панели аргументов автоматически заполнятся поля: в поле «Имя формы» (Form Name) появится имя формы «Клиенты» (Customers), в поле «Режим» (View) – значение по умолчанию Форма (Form), в поле «Режим окна» (Window Mode) – значение Обычное (Normal). Остальные поля останутся пустыми. Мы можем в этой же макрокоманде задать фильтр для отбора записей. Для этого введем в поле «Имя фильтра» (Filter Name) имя какого-нибудь фильтра, например «Менеджеры по продажам», который мы строили при изучении запросов.

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

Макросы в Access. Понятие макроса

Дата добавления: 2015-07-23 ; просмотров: 5595 ; Нарушение авторских прав

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

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

Окно описания макроса (вызываемое кнопкой Создать на вкладке Макросы) содержит две основные колонки: Макрокоманда (в этой колонке вводятся макрокоманды, т.е. фактически описывается макрос) и Примечание (комментарий). Если макрос должен выполняться при определенном условии, то используется также дополнительная колонка Условие; эта возможность будет рассмотрена в разделе 4.

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

Пример создания макроса

Одно из самых простых и распространенных применений макросов – одновременное открытие нескольких элементов базы данных (таблиц, форм и т.д.) в желаемом виде.

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

Макрос, реализующий эти действия, создается следующим образом.

1. Перейти на вкладку Макросы. Нажать кнопку Создать.

2. В первой строке колонки Макрокоманды ввести макрокоманду Открыть таблицу. Указать аргументы этой макрокоманды: Имя таблицы – Объекты, Режим – Таблица, Режим данных – Только чтение (чтобы исключить внесение изменений в таблицу).

3. В следующей строке ввести макрокоманду Открыть запрос. Указать ее аргументы: Имя запроса — Стоимость контрактов по заказчикам, Режим – Таблица, Режим данных – Только чтение.

4. В следующей строке ввести макрокоманду Выполнить команду. В качестве ее аргумента выбрать команду РядомГоризонтально (в некоторых версиях — TileHorizontally). Это требуется для того, чтобы окна, открытые предыдущими макрокомандами, оставались на экране (друг над другом).

5. Закрыть окно макроса. На запрос о сохранении внесенных изменений ответить Да. Указать имя макроса: Просмотр информации об объектах.

6. Чтобы выполнить макрос, необходимо выделить его отметку и нажать кнопку Запуск (или просто дважды щелкнуть по отметке макроса). Запрос и таблица выводятся на экран.

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

1. Перейти на вкладку Макросы. Выделить макрос Просмотр информации об объектах. Нажать кнопку Конструктор.

2. Поместить курсор в первую строку (т.е. в ту строку, перед которой требуется вставить новую макрокоманду). Выбрать команду Вставка – Строки.

3. В появившейся пустой строке (первой) ввести макрокоманду Свернуть. Аргументов у этой макрокоманды нет.

4. Сохранить макрос. Закрыть его (выйти из режима конструктора).

Ссылка на основную публикацию
Adblock
detector