Semenalidery.com

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

Макросы в access

Макросы в access

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать еще:  Ключ активации офис 2020

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

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

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

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

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

Создание макроса в СУБД Access 2003

Создание макроса в БД Access 2003

Записать макрос в Access как, например, в приложении Word не представляется возможным, но в Access можно создать макрос в окне Конструктора макросов или в окне редактора Visual Basic for Application (VBA).

Макросы в Access в основном создаются для обработки событий. Событие — это любое действие, которое распознается объектом и на которое можно определить отклик.

К событиям, которым можно назначить макросы относятся, например, нажатие кнопки для вывода на экран запроса, формы, отчета и т.д. Примером создания макроса может быть создание кнопки для вызова макроса «Открыть Запрос» в подчиненной кнопочной форме «Запросы» в базе данных Успеваемость_студентов.

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

В статье Макросы в БД Access 2003 рассмотрено создание макросов в окне Конструктора макросов, которое открывается командой Создать в окне базы данных на вкладке Макросы. Окно Конструктора макросов разделено по горизонтали на две части: панель описаний и панель аргументов. В панели описаний по умолчанию выводится два столбца: столбец для ввода макрокоманд и столбец для ввода примечаний. Макрокоманда — это инструкция, определяющая выполняемые действия в макросе.

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

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

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

Чтобы создать макрос, открывающий таблицу «Дисциплины», надо переместить с помощью мыши эту таблицу из окна БД в строку Макрокоманда окна Конструктора макросов. Кроме того, в аргументах макрокоманды можно установить Режим — Просмотр, Режим данных — Только чтение.

Аналогичным способом можно создавать макросы: Открыть форму, Открыть запрос, Открыть отчет или Запуск макроса.

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

Читать еще:  Форма access может представлять собой

Для удаления кнопки с панели инструментов надо щелкнуть правой кнопкой на панели инструментов и из контекстного меню выбрать команду Настройка. В появившемся окне диалога Настройка на вкладке Команды в списке Категории выделить строку Все макросы. Перетащить левой кнопкой мыши кнопку с панели инструментов в список Команды окна диалога Настройка. В результате кнопка Откр_запрос будет удалена с панели инструментов.

Copyright

© Обучение в интернет, .
Обратная связь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Макросы в Access: понятие, формы и создание

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

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

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

Вам будет интересно: Личный кабинет WordPress: понятие, определение, создание плагинов, установка, настройка, плюсы и минусы использования

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

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

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

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

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

Вам будет интересно: Как сделать раздел активным средствами Windows и при помощи стороннего ПО: четыре простых метода

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

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

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

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

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

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

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

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

Макросы событий

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

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

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

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

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

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

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

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

Условия

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

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

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

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