В Microsoft Access макросы, присоединенные к объектам пользовательского интерфейса, таким как кнопки, текстовые поля, формы и отчеты, называются макросами пользовательского интерфейса. Это позволяет отличить их от макросов данных, которые присоединяются к таблицам. С помощью макросов пользовательского интерфейса можно автоматизировать ряд действий, таких как открытие другого объекта, применение фильтра, запуск операции экспорта и многие другие задачи. В этой статье представлен новый конструктор макросов, а также описаны основные задачи, связанные с созданием макроса пользовательского интерфейса.
Примечание: Эта статья не относится к веб-приложениям Access.
В этой статье
-
Обзор
-
Построитель макросов
-
Создание автономного макроса
-
Создание внедренного макроса
-
Добавление макрокоманд в макрос
-
Управление выполнением программы с помощью операторов “Если”, “Иначе если” и “Иначе”
-
Создание вложенных макросов
-
Группировка связанных действий
-
Развертывание и свертывание макрокоманд и блоков
-
Копирование и вставка макрокоманд
-
Предоставление общего доступа к макросу
-
Запуск макроса
-
Отладка макроса
-
Преобразование макроса в код VBA
Общие сведения
Макросы могут содержаться в объектах макросов (такие макросы иногда называют автономными) или же внедряться в свойства событий форм, отчетов и элементов управления. Внедренные макросы становятся частью объекта или элемента управления. Объекты макроса отображаются в области навигации в группе Макросы; внедренные макросы в ней не указываются.
Каждый макрос состоит из одной или нескольких макрокоманд. В зависимости от контекста, в котором вы работаете, некоторые макрокоманды могут быть недоступны.
К началу страницы
Построитель макросов
Вот некоторые основные возможности конструктора макроса.
-
Каталог действий Макро макрос у систематизованы по типу и с помощью поиска.
-
IntelliSense. При вводе выражений IntelliSense предлагает возможные значения и позволяет выбрать правильное значение.
-
Сочетания клавиш Используйте сочетания клавиш, чтобы ускорить и упростить написание макроса.
-
Поток программы Создавайте более понятные макросы с строками прикомментов и группами действий.
-
Условные выписки Разрешить более сложное выполнение логики с поддержкой вложенных если/Иначе если.
-
Повторное использование макроса В каталоге макроса отображаются другие макросы, которые вы создали, и вы можете скопировать их в тот, над чем вы работаете.
-
Простое совместное использование Скопируйте макрос, а затем вкопируйте его как XML-код в сообщение электронной почты, запись группы новостей, блог или образец кода.
Вот видеоролик, в котором вы сможете иным образом о том, как основные области конструктора макроса.
К началу страницы
Создание автономного макроса
Данная процедура позволяет создать объект автономного макроса, который будет выводиться в списке Макросы в области навигации. Макрос полезно сделать автономным, если вы хотите повторно использовать его во многих частях приложения. Вызывая макрос из других макросов, можно избежать дублирования кода в нескольких местах.
-
На вкладке Создание в группе Макросы и код нажмите кнопку Макрос.
Откроется конструктор макросов.
-
На панели быстрого доступа нажмите кнопку Сохранить.
-
В диалоговом окне Сохранение введите имя макроса, а затем нажмите кнопку “ОК”.
-
Перейдите к разделу Добавление макрокоманд в макрос.
К началу страницы
Создание внедренного макроса
Данная процедура позволяет создать макрос, внедренный в свойство события объекта. Такие макросы не отображаются в области навигации, но их можно вызывать их событий, например Загрузка или Нажатие кнопки.
Так как макрос становится частью объекта формы или отчета, внедренные макросы рекомендуется использовать для автоматизации задач, которые относятся к конкретной форме или отчету.
-
В области навигации щелкните правой кнопкой мыши форму или отчет, в которые нужно добавить макрос, и выберите команду Режим макета.
-
Если окно свойств не отображается, нажмите клавишу F4.
-
Щелкните элемент управления или раздел, содержащий свойство события, в которое вы хотите внедрить макрос. Вы также можете выбрать элемент управления или раздел (либо форму или отчет целиком) с помощью раскрывающегося списка Возможен выбор в верхней части страницы свойств.
-
В области задач “Страница свойств” откройте вкладку Событие.
-
Щелкните поле свойства для события, которое должно активировать макрос. Например, если вы хотите, чтобы макрос выполнялся при нажатии кнопки, щелкните поле свойства Нажатие для кнопки.
-
Если поле свойства содержит слова [Внедренный макрос], это означает, что для этого события уже создан макрос. Вы можете изменить его, выполнив действия, описанные далее в этой процедуре.
-
Если поле содержит слова [Процедура обработки событий], это означает, что для данного события уже была создана процедура Visual Basic для приложений (VBA). Перед внедрением макроса в событие потребуется удалить процедуру. Для этого можно удалить слова [Процедура обработки событий], но сначала следует изучить процедуру, чтобы убедиться, что ее удаление не нарушит функциональность базы данных. В некоторых случаях можно воспроизвести функции процедуры VBA с помощью внедренного макроса.
-
Нажмите кнопку “Построить” .
-
Если откроется диалоговое окно Построитель, убедитесь, что выбран пункт Макросы, а затем нажмите кнопку ОК.
Откроется конструктор макросов. Перейдите к следующему разделу, чтобы добавить макрокоманды в макрос.
К началу страницы
Добавление макрокоманд в макрос
Макрокомандами называются отдельные команды, которые образуют макрос. Имя макрокоманды отражает ее назначение, например НайтиЗапись или ЗакрытьБазуДанных.
Шаг 1. Просмотр или поиск макрокоманд
Чтобы добавить макрокоманду, прежде всего нужно найти ее в раскрывающемся списке Добавить новую макрокоманду или в каталоге макрокоманд.
Примечания:
-
По умолчанию в раскрывающемся списке Добавить новую макрокоманду и в каталоге макрокоманд выводятся только макрокоманды, которые выполняются в ненадежных базах данных. Чтобы просмотреть все макрокоманды:
-
На вкладке Конструктор в группе Показать или скрыть выберите пункт Показать все действия.
-
-
Если каталог макрокоманд не отображается, на вкладке Конструктор в разделе Показать или скрыть нажмите кнопку Каталог макрокоманд.
Найти макрокоманду можно одним из следующих способов:
-
Щелкните стрелку раскрывающегося списка Добавить новую макрокоманду и прокрутите список вниз, чтобы найти макрокоманду. Сначала выводятся элементы управления выполнением программы, а затем — макрокоманды в алфавитном порядке.
-
Найдите макрокоманду в области “Каталог макрокоманд”. Макрокоманды сгруппированы по категориям. Разверните категории для просмотра макрокоманд. При выборе макрокоманды в нижней части каталога выводится ее краткое описание.
-
Выполните поиск макрокоманды, введя текст в поле “Поиск” в верхней части области “Каталог макрокоманд”. По мере ввода список макрокоманд фильтруется и в нем выводятся все макросы, которые содержат текст. Access ищет введенный текст в именах макросов и их описаниях.
Шаг 2. Добавление макрокоманды в макрос
После того как вы нашли нужную макрокоманду, добавьте ее в макрос с помощью одного из следующих способов:
-
Выберите макрокоманду в списке Добавить новую макрокоманду или просто начните вводить имя макрокоманды в поле. Access добавит макрокоманду туда, где отображался список Добавить новую макрокоманду.
-
Перетащите макрокоманду из каталога макрокоманд в область макроса. Появится полоса вставки, показывающая, куда будет вставлена макрокоманда, когда вы отпустите кнопку мыши.
-
Дважды щелкните макрокоманду в каталоге макрокоманд.
-
Если в области макроса выбрана макрокоманда, Access добавит новую макрокоманду под выбранной.
-
Если в области макроса выделен блок Группа, Если, Иначе если, Иначе или Вложенный макрос, Access добавит новую макрокоманду в него.
-
Если в области макроса не выбраны макрокоманды и блоки, Access добавит новую макрокоманду в конец макроса.
Примечания:
-
Если вы уже создали один или несколько макросов, они указаны в узле В этой базе данных каталога макрокоманд.
-
При перетаскивании автономного макроса (который указан в разделе Макросы) в область макроса создается макрокоманда ЗапускМакроса, которая выполняет перетащенный макрос. Затем вы можете с помощью раскрывающегося списка вызвать вложенные макросы, если они имеются.
-
Если вы хотите просто скопировать макрокоманды из автономного макроса в текущий (вместо того чтобы создавать макрокоманду ЗапускМакроса), щелкните его правой кнопкой мыши в каталоге макрокоманд и выберите команду Добавить копию макроса.
-
При перетаскивании внедренного макроса (указанного в объекте формы или отчета) в область макроса макрокоманды из него копируются в текущий макрос.
-
-
Вы также можете создать макрокоманду путем перетаскивания объекта базы данных из области навигации в область макроса. Если вы перетащите в область макроса таблицу, запрос, форму, отчет или модуль, Access добавит макрокоманду, открывающую их. При перетаскивании другого макроса в область макросов Access добавит макрокоманду, которая запускает этот макрос.
-
-
Шаг 3. Ввод аргументов
Для большинства макрокоманд требуется по крайней мере один аргумент. Чтобы просмотреть описание любого из аргументов, выделите макрокоманду, а затем наведите указатель на аргумент. Для многих аргументов вы можете выбрать значение из раскрывающегося списка. Если для аргумента требуется ввести выражения, IntelliSense помогает сделать это, предлагая возможные значения по мере ввода, как показано на рисунке ниже:
Когда появится значение, которое вы хотите использовать, добавьте его в выражение, дважды щелкнув его или выделив его с помощью клавиш со стрелками, а затем нажав клавишу TAB или ВВОД.
Дополнительные сведения о создании выражений см. в статье Введение в использование выражений.
Сведения об использовании IntelliSense со свойствами веб-базы данных
При создании макроса пользовательского интерфейса, внедренного в веб-совместимую форму, IntelliSense позволяет добавлять любые свойства формы в выражение. Однако в веб-базе данных с помощью макросов пользовательского интерфейса можно получать доступ только к некоторым свойствам формы. Например, если в форме “Форма1” есть элемент управления “Элемент1”, IntelliSense позволит добавить [Формы]![Форма1]![Элемент1].[ControlSource] в выражение в макросе пользовательского интерфейса. Но если опубликовать базу данных в службах Access, макрос, содержащий выражение, будет вызывать ошибку при запуске на сервере.
В таблице ниже перечислены свойства, которые вы можете использовать в макросах пользовательского интерфейса в веб-базах данных:
Объект или элемент управления |
Доступные свойства |
Форма |
Caption, Dirty, AllowAdditions, AllowDeletions, AllowEdits |
Набор вкладок |
Visible |
Надпись |
Caption, Visible, “Цвет текста”, “Цвет фона” |
Вложение |
Visible, Enabled |
Кнопка |
Caption, Visible, Enabled, “Цвет текста” |
Текстовое поле |
Enabled, Visible, Locked, “Цвет текста”, “Цвет фона”, Value |
Флажок |
Enabled, Visible, Locked, Value |
Изображение |
Visible, “Цвет фона” |
Поле со списком |
Enabled, Visible, Locked, Value |
Список |
Enabled, Visible, Locked, Value |
Веб-браузер |
Visible |
Подчиненная форма |
Enabled, Visible, Locked |
Элемент навигации |
Enabled, Visible |
Перемещение макрокоманды
Макрокоманды выполняются в том порядке, в котором они указаны в макросе (сверху вниз). Чтобы переместить макрокоманду в макросе вверх или вниз, воспользуйтесь одним из следующих способов:
-
Перетащите макрокоманду вверх или вниз в нужное место.
-
Выберите макрокоманду, а затем нажмите клавиши CTRL+СТРЕЛКА ВВЕРХ или CTRL+СТРЕЛКА ВНИЗ.
-
Выберите макрокоманду и щелкните стрелку Вверх или Вниз в правой части области макроса.
Удаление макрокоманды
Чтобы удалить макрокоманду:
-
Выделите макрокоманду и нажмите клавишу DELETE. Кроме того, вы можете нажать кнопку Удалить (X) в правой части области макроса.
Примечания:
-
Если удалить блок макрокоманд, например блок Если или Группа, будут также удалены все макрокоманды в блоке.
-
Команды Вверх, Вниз и Удалить также доступны в контекстном меню, которое появляется при щелчке макрокоманды правой кнопкой мыши.
-
К началу страницы
Управление выполнением программы с помощью операторов “Если”, “Иначе если” и “Иначе”
Если требуется, чтобы макрокоманды выполнялись только при соблюдении определенных условий, используйте блок Если. Он заменяет столбец Условие, который использовался в предыдущих версиях Access. Вы можете дополнить блок Если блоками Иначе если или Иначе, как и в других последовательных языках программирования, например VBA.
На следующем рисунке показан простой блок Если, включающий блоки Иначе если и Иначе:
Блок Если выполняется, если дата в поле ExpirationDate меньше текущей даты.
Блок Иначе если выполняется, если дата в поле ExpirationDate равна текущей дате.
Блок Иначе выполняется, если ни один из предыдущих блоков не выполнился.
На этом блок Если заканчивается.
Добавление блока “Если” в макрос
-
Выберите оператор Если в раскрывающемся списке Добавить новую макрокоманду или перетащите его из области “Каталог макрокоманд” в область макроса.
-
В поле в верхней части блока Если введите выражение, определяющее, когда будет выполняться блок. Выражение должно быть логическим (то есть его результатом должно быть значение “Да” или “Нет”).
-
Добавьте макрокоманды в блок Если, выбрав их из раскрывающегося списка Добавить новую макрокоманду в блоке или перетащив их из области “Каталог макрокоманд” в блок Если.
Добавление блоков “Иначе” и “Иначе если” в блок “Если”
-
Выберите блок
Еслии в его правом нижнем углу щелкните
Добавить блок “Иначе” или Добавить блок “Иначе если”. -
Если вы добавляете блок Иначе если, введите выражение, определяющее, когда будет выполняться блок. Выражение должно быть логическим (то есть его результатом должно быть значение “Истина” или “Ложь”).
-
Добавьте макрокоманды в блок Иначе если или Иначе, выбрав их из раскрывающегося списка Добавить новую макрокоманду в блоке или перетащив их из области “Каталог макрокоманд” в блок.
Примечания:
-
Команды для добавления блоков Если, Иначе если и Иначе также доступны в контекстном меню, которое появляется при щелчке макрокоманды правой кнопкой мыши.
-
У блоков Если может быть до 10 уровней вложенности.
-
К началу страницы
Создание вложенных макросов
У каждого макроса может быть несколько вложенных макросов. Вложенный макрос вызывается по имени из макрокоманд ЗапускМакроса или ПриОшибке.
Блок “Вложить макрос” добавляется в макрос таким же образом, как и макрокомащение, как описано в разделе “Добавление макрокомаграмм в макрос”. После добавления блока “Вложить макрос” вы можете перетащить в него макрокогруппы или выбрать их из списка “Добавить новую макрокомаграмму”, который отображается в блоке.
Примечания:
-
Вы также можете создать блок Вложенный макрос, выбрав одну или несколько макрокоманд, щелкнув их правой кнопкой мыши, а затем выбрав команду Сделать блок вложенного макроса.
-
Вложенные макросы всегда должны быть последними блоками в макросе; под ними невозможно добавить никакие макрокоманды (кроме других вложенных макросов). Если запустить макрос, который содержит только вложенные макросы, не указав нужный вложенный макрос, будет выполнен только первый вложенный макрос.
-
Чтобы вызвать вложенный макрос (например, в свойстве события или с помощью макрокоманд ЗапускМакроса и ПриОшибке), используйте следующий синтаксис:
имя_макроса.имя_вложенного_макроса
К началу страницы
Группировка связанных макрокоманд
Вы можете сделать макрос более понятным, сгруппировав макрокоманды и присвоив группам продуманные имена. Например, вы можете добавить макрокоманды, открывающие и фильтрующие форму, в группу с именем “Открытие и фильтрация формы”. Это позволяет проще понять, какие макрокоманды связаны друг с другом. Блок Группа не влияет на то, как выполняются макрокоманды, и группу невозможно вызвать или запустить по отдельности. Ее основное назначение — присвоение метки группе макрокоманд, которая делает макрос более понятным. Кроме того, при редактировании крупного макроса вы можете свернуть каждый блок группы до одной строки, чтобы меньше использовать прокрутку.
Если макрокоманды, которые вы хотите сгруппировать, уже есть в макросе, выполните следующие действия, чтобы добавить их в блок Группа:
-
Выберите макрокоманды, которые вы хотите сгруппировать.
-
Щелкните выбранные макрокоманды правой кнопкой мыши и выберите Сделать блок группы.
-
В поле в верхней части блока Группа введите имя группы.
Если макрокоманды не добавлены:
-
Перетащите блок Группа из каталога макрокоманд в область макроса.
-
В поле в верхней части блока Группа введите имя группы.
-
Перетащите макрокоманды из каталога в блок Группа или выберите их в списке Добавить новую макрокоманду, который выводится в блоке.
Блоки Группа могут содержать другие блоки Группы. Допускается до 9 уровней вложенности.
К началу страницы
Развертывание и свертывание макрокоманд или блоков
При создании макроса в конструкторе макросов отображаются макрокоманды со всеми аргументами. Если макрос большой, при его редактировании может потребоваться свернуть некоторые или все макрокоманды (и их блоки). Это упрощает просмотр общей структуры макроса. При необходимости вы можете развернуть макрокоманды, чтобы изменить их.
Развертывание или свертывание одной макрокоманды или блока
-
Щелкните знак “плюс” (+) или “минус” (–) слева от имени макроса или блока. Кроме того, можно выбрать макрокоманду или блок с помощью клавиш СТРЕЛКА ВВЕРХ или СТРЕЛКА ВНИЗ, а затем нажать клавишу СТРЕЛКА ВЛЕВО или СТРЕЛКА ВПРАВО, чтобы свернуть или развернуть их.
Развертывание или свертывание всех макрокоманд (но не блоков)
-
На вкладке Конструктор в группе Развернуть или свернуть щелкните Развернуть макрокоманды или Свернуть макрокоманды.
Развертывание или свертывание всех макрокоманд и блоков
-
На вкладке Конструктор в группе Развернуть или свернуть щелкните Развернуть все или Свернуть все.
Совет: Вы можете просмотреть свернутую макрокоманду, наведя на нее указатель. В подсказке будут показаны аргументы макрокоманды.
К началу страницы
Копирование и вставка макрокоманд
Если требуется повторить макрокоманды, которые вы уже добавили в макрос, вы можете скопировать и вставить их, как абзацы текста в текстовом процессоре. Макрокоманды вставляются под выбранной макрокомандой. Если выбран блок, макрокоманды вставляются в него.
Совет: Чтобы быстро продублировать выбранные макрокоманды, удерживайте нажатой клавишу CTRL и перетащите их в то место макроса, куда вы хотите их скопировать.
Предоставление общего доступа к макросу
Если скопировать макрокоманды в буфер обмена, их можно вставить как XML-код в любое приложение, в котором можно ввести текст. Это позволяет отправить макрос коллеге по электронной почте или опубликовать его на форуме, в блоге или на другом веб-сайте. Получатель затем может скопировать XML и вставить его в конструктор макросов Access 2010. При этом будет получен точно такой же макрос, как у вас.
Запуск макроса
Вы можете запустить макрос с помощью следующих способов:
-
Дважды щелкните макрос в области навигации.
-
Вызовите макрос с помощью макрокоманды ЗапускМакроса или ПриОшибке.
-
Введите имя макроса в свойство события объекта. Макрос будет выполняться при активизации события.
К началу страницы
Отладка макроса
Если у вас не получается запустить макрос, попробуйте определить источник проблемы с помощью указанных ниже способов.
Добавление в макрос макрокоманд для обработки ошибок
Рекомендуется добавлять макрокоманды для обработки ошибок в каждый создаваемый макрос и не удалять их из него. При использовании этого способа Access выводит описание возникающих ошибок. Описания ошибок помогают понять, в чем дело, и быстрее устранить проблему.
Чтобы добавить вложенный макрос для обработки ошибок:
-
Откройте макрос в Конструкторе.
-
В нижней части макроса выберите Вложенный макрос из раскрывающегося списка Добавить новую макрокоманду.
-
В поле справа от слова Вложенный макрос введите имя вложенного макроса, например ОбработкаОшибок.
-
В раскрывающемся списке Добавить новую макрокоманду, который отображается в блоке Вложенный макрос, выберите макрокоманду ОкноСообщения.
-
В поле Сообщение введите следующий текст: =[MacroError].[Description]
-
В нижней части макроса выберите ПриОшибке из раскрывающегося списка Добавить новую макрокоманду.
-
Для аргумента Перейти укажите значение Имя макроса.
-
В поле Имя макроса введите имя вложенного макроса обработки ошибок (в данном примере — ОбработкаОшибок).
-
Перетащите макрокоманду ПриОшибке в самую верхнюю часть макроса.
На следующем рисунке показан макрос с макрокомандой ПриОшибке и вложенным макросом ОбработкаОшибок.
Макрокоманда ПриОшибке расположена вверху макроса и вызывает вложенный макрос ОбработкаОшибок в случае ошибки.
Вложенный макрос ОбработкаОшибок выполняется только в том случае, если он был вызван макрокомандой ПриОшибке, и отображает окно с сообщением об ошибке.
Использование команды пошагового исполнения
Пошаговое исполнение —это режим отладки макроса, который можно использовать для выполнения макроса по одной макрокоманде за раз. После выполнения каждой макрокоманды выводится диалоговое окно со сведениями о ней и кодами всех возникших ошибок. Но так как в диалоговом окне “Пошаговое исполнение макроса” не выводится описание ошибки, мы рекомендуем использовать метод с вложенными макросами обработки ошибок, описанный в предыдущем разделе.
Чтобы перейти в пошаговый режим:
-
Откройте макрос в Конструкторе.
-
На вкладке Конструктор в группе Сервис нажмите кнопку По шагам.
-
Сохраните и закройте макрос.
При следующем запуске макроса откроется диалоговое окно Пошаговое исполнение макроса. В нем выводятся следующие сведения о каждой макрокоманде:
-
имя макроса;
-
условие (для блоков “Если”);
-
имя макрокоманды;
-
аргументы;
-
номер ошибки (номер 0 означает, что ошибки нет).
При пошаговом исполнении макрокоманд можно использовать следующие три кнопки в диалоговом окне:
-
Чтобы просмотреть сведения о следующей макрокоманде, нажмите кнопку По шагам.
-
Чтобы остановить все макросы, которые выполняются в данный момент, нажмите кнопку Остановить все макросы. Пошаговый режим будет по-прежнему действовать при следующем запуске макроса.
-
Чтобы выйти из пошагового режима и продолжить выполнение макроса, нажмите кнопку Продолжить.
Примечания:
-
Если нажать кнопку По шагам после последней макрокоманды в макросе, пошаговый режим будет по-прежнему применяться при следующем запуске макроса.
-
Чтобы перейти в пошаговый режим по время выполнения макроса, нажмите клавиши CTRL+BREAK.
-
Чтобы перейти в пошаговый режим в определенный момент выполнения макроса, добавьте макрокоманду Шаг в соответствующую часть макроса.
-
Пошаговый режим недоступен для веб-баз данных.
-
К началу страницы
Преобразование макроса в код VBA
Макрос — это подмножество команд, доступных на языке программирования Visual Basic для приложений (VBA). Если вам требуется больше функций, чем могут предоставлять макросы, вы можете легко преобразовать автономный объект макроса в код VBA, а затем использовать расширенный набор функций VBA. Имейте в виду, что код VBA не будет запускаться в браузере. Любой код VBA, добавленный в веб-базу данных, будет работать только в том случае, если база данных открыта в Access.
Примечание: Внедренные макросы невозможно преобразовать в код VBA.
Чтобы преобразовать макрос в код VBA:
-
В области навигации щелкните объект макроса правой кнопкой мыши и выберите пункт “Конструктор”.
-
На вкладке Конструктор в группе Сервис выберите команду Преобразовать макросы в Visual Basic.
-
В диалоговом окне Преобразование макроса укажите, нужно ли добавлять код обработки ошибок и примечания в модуль VBA, а затем нажмите кнопку Преобразовать.
Access подтвердит, что макрос был преобразован, и откроет редактор Visual Basic. Дважды щелкните преобразованный макрос в области проекта, чтобы просмотреть и изменить модуль.
К началу страницы
Microsoft Access довольно популярная программа для создания баз данных, её используют из-за её простоты, работу с ней проходят в школах на уроке информатики. Для изучения этой программы не нужно каких либо знаний программирования. Сегодня мы разбираемся что такое Макросы в Microsoft Access, как можно создать и запускать макрос, а также рассмотрим рекомендации для новичков.
Понятие макроса
БД Access состоят из объектов хранения и обработки значений в таблицах. Одни из таких объектов – макросы Access – программные единицы, использующиеся для внесения изменений в данных базы или пользовательском интерфейсе.
Существует два вида макросов: событий и данных. Первый вид отвечает за действия в пользовательском интерфейсе. Он привязан к элементам форм и самим формам. К такому виду относятся выполнение операций при нажатии на кнопку, приобретение или потеря фокуса, открытие-закрытие формы и т. д.
По этим событиям система совершает сохранение записи или значение поля, применение фильтра, экспорт данных и т. п. Благодаря новому конструктору, создание макросов в Access стало несложной процедурой, доступной начинающим разработчикам. Этот конструктор обладает достоинствами, которых были лишены его предшественники:
- система предлагает каталог микрокоманд с предустановленными действиями и интуитивно понятными наименованиями, из которых выбирается необходимое;
- макрос используется не один раз, а копируется из ранее созданного;
- в командах используются условия;
- горячие сочетания клавиш для упрощения и ускорения работы;
- добавление комментариев, которые впоследствии помогут понять работу программы;
- группы команд, выполняющиеся одна за другой.
Макрокоманды
Для добавления макросов Access в меню «Создание» выбираем пункт «Макрос». Система открывает окно нового макроса со списком доступных для добавления команд справа. Кроме списка макрокоманд, здесь вы найдете макросы, уже доступные в этой БД, и функции управления создания процедуры для выполнения.
Макрокоманды содержатся в папках по категориям выполняемых ими действий. Наименования папок отображают область, к которой относятся операции. Это интерфейсные операции, задачи по передаче данных из БД или в нее, управление объектами базы, окнами программы и элементами объектов.
Чтобы добавить команду в макрос, ее находят в каталоге и дважды кликают по наименованию. Можно просто выбрать нужную операцию в выпадающем списке макроса или перетащить ее из каталога в поле макроса.
Конструктор макросов
Действия по разработке макросов Access выполняют в конструкторе. Команда выбирается из списка и добавляется в окно макроса. Здесь операция раскрывается и запрашивает ввод параметров.
Часть этих параметров выбирают из раскрывающихся списков, например, если операция выполняется над объектом, у команды присутствует аргумент для указания этого объекта, и поле для ввода этого аргумента представляет собой выпадающий список с доступными объектами текущей базы. В некоторые поля разработчик вводит параметр самостоятельно, например, указывает наименование фильтра для операции открытия формы.
В новом конструкторе добавлена еще одна функция. Она носит название IntelliSense и помогает во вводе выражений в макросах в базе данных Access. Когда пользователь вводит значение аргумента, функция подсказывает ему возможные варианты, из которых выбирается необходимый.
Конструктор позволяет добавлять микрокоманды, менять их местами и удалять, если это необходимо. Для изменения порядка выполнения команд в верхнем правом углу команды размещаются кнопки с зелеными стрелками. В первой по порядку операции стрелка указывает только вниз, в последней – только вверх, для команд в середине списка доступно перемещение и вниз, и вверх. Нажатие крестика удаляет команду из макроса.
Макросы событий
Макросы на форму Access добавляют сразу на элемент управления. При создании элемента автоматически открывается мастер, определяющий действия, которые выполняет макрос в ответ на событие со стороны этого элемента. Яркий пример – действия при нажатии на кнопку формы.
В мастере выбираем категорию «Разное» – «Выполнить макрос» и выбираем заранее созданный объект из списка предложенных. Таким образом, программа привязывается к элементу формы и реагирует на событие со стороны этого элемента.
К уже добавленному на форму элементу управления макрос привязывается в окне свойств. На вкладке «События» обозначен список событий, для которых возможно назначить выполнение последовательности команд. Для нужного пункта выбираем из выпадающего списка макрос, который для выполнения.
Процедура запускается в ответ на изменение фокуса, обновление формы, нажатие клавиш и кнопок, движение указателя мыши и т. д. Список событий зависит от элемента управления.
Макросы данных
В версии Access 2010 и выше стали доступны макросы данных. Они вызываются изменениями, происходящими в элементах какого-либо объекта, или независимы и вызываются по наименованию. Благодаря этому типу макросов Access приобретает возможности «продвинутых» СУБД (система управления базами данных).
Теперь возможна фиксация истории изменений строки таблицы, проверка параметров добавляемой записи перед ее вставкой – таким образом в СУБД, например, MS SQL Server работают триггеры. При редактировании отдельных полей система может формировать и отправлять уведомления на электронную почту пользователей.
Эти программные единицы добавляются в режиме таблицы. На вкладке «Работа с таблицами» – «Таблица» выбирается, когда будет срабатывать макрос: до или после изменения/удаления, после вставки. Здесь же можно добавить именованный макрос, вызываемый по наименованию. Список макрокоманд здесь содержит операции, которые выполняются с данными – ошибками в значениях, полями, записями таблиц.
Условия
Часто необходимо, чтобы макрос работал не каждый раз, а только в том случае, когда соблюдается какое-либо условие. Для задания этого условия в макрос Access добавляется макрокоманда «Если» из каталога. Здесь прописывается условие, при котором будет выполняться следующая операция. При необходимости добавляется также команда «Иначе» или целый дополнительный блок «Иначе если».
В приведенном примере мы закрываем форму «Абитуриенты», если поле «Фамилия» пустое. Если же это не так, мы сохраняем запись и только после этого закрываем форму.
Благодаря новому конструктору макросов в Access, начиная с версии 2010, разработчик может гибко настроить систему и обеспечить большую безопасность данных в таблицах. Желаем вам удачи в освоении новых возможностей MS Access.
Источники: fb.ru
Макросы идеальный инструмент этот доступ предлагает автоматизировать большое количество задач и которые позволяют добавлять функциональные возможности в отношения , формы и элементы управления. Можно сказать, что они представляют собой упрощенный язык программирования, интегрированный в доступ который написан путем создания список действия, которые можно выполнять.
При создании макроса , следующий шаг – выберите действие, которое вы хотите выполнить, из раскрывающегося списка и, наконец, заполнить необходимую информацию для каждого типа действий. Короче говоря, они отлично подходят для упрощения и автоматизации процессов.
В этой статье мы расскажем все, что вам нужно знать о Как с нуля создать макрос для автоматизации любой задачи в Microsoft Access. Мы также научим вас, какие типы задач можно автоматизировать, и расскажем, как безопасно их использовать.
Используя макросы доступа, можно связать и организовать различные инструкции, чтобы облегчить создание систем и ускорить рутинную работу. Прежде всего, следует отметить, что базы данных Access состоят из ряда объектов, таких как формы, запросы, картины , состояния и т. д. Со временем база данных может стать очень большой, поэтому удобно выбрать автоматизацию процессов и, таким образом, ускорить выполнение определенных задач.
Для этого есть макросы в доступ которые очень похожи на те, которые можно сохранить в Word и другие программы Office. Однако в этом случае макросы состоят из серии прямых инструкций, называемых «действиями». , которые выполняют все виды задач в указанном порядке. Таким образом, можно сказать, что это действительно полезный инструмент для всех типов пользователей. Quant à Какие задачи можно автоматизировать в Access с помощью макроса? ,
Мы суммируем их в следующем списке:
- Ищите определенные значения в базовой таблице форм.
- Перевод файлы.
- добавлять меню.
- Выполнить запрос который включает фильтр записи.
- Переименовать любой раздел базы данных.
- Увеличить или уменьшить окно.
- Переместить или изменить размер окно.
- Закройте окно.
- Отменить запись.
- Определять пункт меню.
- открытый запрос.
- открытый стол.
- выбрать объект.
- Распечатать объект.
Вот некоторые действия, которые вы можете настроить для запуска через макрос Access . Однако список очень длинный. В программе вы можете выбрать тот, который вам больше всего подходит в соответствии с вашими потребностями.
Доступ к генератору макросов Что это за инструмент и как он работает?
Как следует из названия, это окно, через которое можно создать макрос в Access . При обновлении с версии 2010, был внесен ряд изменений, которые значительно улучшили интерфейс генератора, сделав его более удобным для пользователя. Это значительно облегчает создание, изменение и совместное использование макросов. Доступ.
Чтобы иметь возможность отображать UI Macro Builder, вы должны:
- Доступ к группе Макрос и код под вкладкой Создавать .
- Оказавшись там, нажмите Макрос .
Чтобы отобразить построитель макросов для макросов данных, выполните следующие действия:
- Открыть стол в Листовой режим de данные .
- Во вкладке Таблица, в в частности в группах события Прецеденты et Последующие события , щелкните один из элементов управления событиями. Например, вы можете нажать «Перед редактированием» или «После вставки».
Помимо всего этого, вы должны знать некоторые основные функции, предлагаемые генератором макросов Access.
Эти:
- Каталог акций – Все акции сгруппированы по типу, и их можно легко найти.
- Интеллект: когда пользователь вводит выражение, IntelliSense предлагает возможные значения и позволяет при необходимости выбрать правильное.
- Горячие клавиши – Позволяет использовать комбинации клавиш для более простого и быстрого ввода макросов.
- Последовательность программы: с этим можно создавать гораздо более читаемые макросы со строками комментариев, а также группами действий.
- Условные утверждения: благодаря этой характеристике выполнение более сложной логики с совместимостью с if …
- Легче делиться: это означает, что вы можете скопировать макрос, а затем вставить его с помощью XML в электронном письме, блоге, образце кода веб-сайта или даже в группе новостей.
- Повторное использование макросов: каталог действий отображает другие созданные вами макросы и позволяет копировать их в тот, над которым вы работаете.
Пошаговые инструкции по созданию макроса в Access с нуля
Как мы заявили выше, на используя макросы, вы можете автоматизировать задачи, которые обычно повторяются . В доступ у вас есть возможность создать три типа макросов: независимый, интегрированный или суб-макрос.
Мы объясняем шаг за шагом в каждом конкретном случае:
Independant
Эта процедура создает отдельный объект макроса который отображается в макросах на панели навигации. Его использование рекомендуется при хотите повторно использовать макрос во многих местах приложения . Вызывая его из макроса, вы избегаете дублирования одного и того же кода в нескольких местах.
«ОБНОВЛЕНИЕ ✅ Хотите создать макрос для автоматизации простых задач в Microsoft Access? ⭐ ВОЙДИТЕ ЗДЕСЬ ⭐ и узнайте все о SCRATCH! »
Чтобы создать независимый макрос, необходимо:
- Доступ к группе Макросы и код , во вкладке Создавать .
- Cliquez-сюр- Макрос . После этого откроется макрогенератор.
- В панель быстрого доступа , Cliquez сюр Регистрация .
- В области Сохранить как введите желаемое имя макроса. пресс затем OK .
- Выберите действие, которое хотите запустите свой макрос в панели Каталог действий.
- Добавьте это действие в свой макрос в списке Добавить новое действие .
- Заполните аргументы . Для большинства действий требуется хотя бы один аргумент.
Встроенный
Создавая встроенные макросы, вы создаете макрос, который будет встроен в свойство события объекта. Примечательно, что он не отображается на панели навигации, но может быть вызван из таких событий, как При загрузке ou При щелчке. Помните, что макрос будет частью формы или объекта отчета, поэтому рекомендуется использовать встроенные макросы для автоматизировать конкретные задачи конкретного отчета или формы .
Пошаговая инструкция в этих случаях:
- Щелкните правой кнопкой мыши форму или состояние, которое будет содержать макрос в области навигации. Затем нажмите Представление презентации .
- В случае, если страница свойств не отображается , вы должны нажать F4 чтобы отобразить это.
- Щелкните элемент управления или раздел который имеет свойство события, в которое вы хотите вставить макрос. Точно так же вы можете выбрать раздел или поле, используя раскрывающийся список под Тип выбора вверху страницы свойств.
- Перейти на вкладку Событие , в ставне Лист недвижимости офиса .
- В поле свойств выберите событие, для которого вы хотите запустить макрос. . Например, если вы хотите, чтобы макрос запускался при нажатии кнопки команды, щелкните в поле свойств при щелчке.
- Если в поле свойств есть слова «Встроенный макрос» , это означает, что макрос уже был создан для этого конкретного события. Вы должны знать, что его можно изменить.
- Если в зоне есть слова «Процедура события» , это означает, что процедура Визуальный Бейсик для приложений (VBA) а был создан для этого события. Перед тем, как вставить макрос в событие, необходимо удалить процедуру.
- Для этого можно убрать слова «Порядок проведения мероприятия» , но вам следует ознакомиться с процедурой события, чтобы убедиться, что ее удаление не нарушит необходимую функциональность базы данных. В таких случаях можно воссоздать функциональность процедуры. VBA через встроенный макрос.
- Нажмите кнопку генерировать .
- Если диалог Выберите генератор отображается убедитесь, что генератор макросов выбран . Затем нажмите OK .
- Генератор макросов откроется , где вы можете добавить желаемые действия.
Субмакро
Вместо того, чтобы создавать несколько макросов по отдельности, вы можете выбрать создавать суб-макросы . Монета – макрос оформляется по имени в макрокомандах RunMacro ou при ошибке . Чтобы добавить суб-макроблок к макросу, вы должны сделать это так же, как и обычное макрос-действие . После добавления субмакро-блока вы можете перетащить на него макрокоманды или выбрать серию действий из списка «Добавить новое действие», отображаемого в блоке.
Некоторые аспекты, которые следует учитывать при рассмотрении этого вопроса:
- Можно создать блок суб-макросов с помощью выбор одного или нескольких действий, нажатие правой кнопкой. Затем вам нужно выбрать Создайте суб-макроблок .
- Под-макросы всегда должны быть последними блоками макроса. , то есть вы не можете добавлять какие-либо действия (кроме дополнительных субмакросов) под субмакросом. Если вы запустите макрос, который содержит только вложенные макросы, без конкретного имени нужного вложенного макроса, будет выполнен только первый из них.
- Чтобы иметь возможность назвать субмакро используйте следующий синтаксис: Sous – макроимя.
Советы по безопасности макросов для безопасного использования
Вот несколько основных советов, которые вы можете принять во внимание. при создании макросов использовать их без всякого риска . Прежде всего, вы должны знать, что в предыдущих версиях Доступ из многие функции не могли быть выполнены без написания кода VBA.
Однако в более новых версиях добавлены новые функции и макрокоманды, которые помогают избавиться от необходимости писать код. . Это упрощает процесс добавления функций в базу данных и снижает вероятность ошибки, что означает, что процесс намного безопаснее.
Мы рекомендуем вам воспользоваться следующими новыми функциями:
Встроенные макросы
Благодаря им, у пользователя есть возможность встраивать макросы в любое из событий, представленных в отчете , элемент управления или форма. Они недоступны в области навигации, поскольку являются частью формы, отчета или элемента управления, в которых они были созданы. Кроме того, если вы создаете копию формы, элемента управления или отчета, содержащего встроенные макросы, макросы также будут присутствовать в копии.
Повышенная безопасность
Если Кнопка Показать все действия есть не выделены в Macro Builder, единственными доступными для использования действиями и аргументами RunCommand являются те, которые не требуют статуса утверждения для выполнения. Макрос, созданный с помощью этих действий, будет выполняться, даже если база данных находится в отключенном режиме.
Когда речь идет о базах данных, содержащих макрокоманды, которых нет в списке доверенных (или в базе данных содержащий Код VBA) , необходимо будет явно предоставить им состояние доверия .
Обработка ошибок и отладка
Чтобы помочь пользователям свести к минимуму вероятность ошибки, О компании обеспечивает макрокоманды, такие как OnError и ClearMacroError , с помощью которого вы можете выполнять определенные действия при возникновении ошибок при выполнении макроса. Вдобавок ко всему, действие Один шаг позволит вам переключиться в пошаговый режим в любой момент вашего макроса, чтобы вы могли внимательно наблюдать, как он работает, наблюдая только одно действие за раз.
Временные переменные
Есть три макроса, которые позволяют создавать и использовать временные переменные в макросах , знать: SetTempVar, RemoveTempVar и RemoveAllTempVars . Их рекомендуется использовать в условных выражениях для управления выполнением макросов или для передачи данных в формы или отчеты или из них.
Ils служить то же самое для других целей, требующих временного хранения ценностей . Кроме того, вы должны знать, что они также доступны в ВБА, поэтому вы можете использовать их для передачи данных между ле модули VBA. Без сомнения, благодаря этой серии встроенных функций у вас будет лучший опыт создания макросов в Доступ. Воспользуйтесь этим, и вы увидите, что процесс будет проходить более плавно и безопасно! .
Если у вас есть какие-либо вопросы, оставляйте их в комментариях, мы свяжемся с вами как можно скорее, и это будет большим подспорьем для большего числа участников сообщества. Je Vous remercie!
Access
предоставляет пользователям два средства
автоматизации работы с базами данных:
язык макросов и язык Visual Basic for Applications
(VBA).
Язык VBA
имеет преимущества перед языком макросов.
Несмотря на это последний можно
использовать для создания сложных
программ и для автоматизации большинства
операций по управлению базой данных.
В отличие от Excel
и Word, в Access автоматическая запись
макросов не выполняется.
Окно
макросов открывается в результате
нажатия кнопки Создать
на вкладке Макросы
окна базы данных. Оно включает четыре
столбца: Имя
макроса,
Условия,
Макрокоманда
и Примечание.
При создании нового макроса по
умолчанию отображаются только столбцы
Макрокоманда
и Примечание.
Показ остальных столбцов можно установить,
используя команды Имя
макроса и
Условия
из меню Вид
или же одноименные кнопки на панели
инструментов Создание
макроса.
В
столбце Имя
макроса
указывается имя макроса, которое
надлежит задавать, если окно содержит
несколько макросов. В столбце Условия
осуществляется ввод условия (логическое
выражение) для выполнения только
части макроса. В столбце Макрокоманда
перечисляются подлежащие выполнению
действия (макрокоманды) в нужной
последовательности. Столбец Примечание,
содержащий комментарии к программе,
при выполнении макроса программой
игнорируется, однако заполнять его
рекомендуется, поскольку в этом случае
текст макроса понятнее.
Удобно
разрабатывать макросы для автоматизации
несложных процессов, таких как открытие
и закрытие нескольких форм или отчетов,
вывод на экран или на печать нескольких
документов, отмена/восстановление
отображения панелей инструментов и
т.д.
Создание
макросов. После
нажатия кнопки Создать
на вкладке Макросы
пользователь получает доступ к бланку
макроса. В каждой строке этой таблицы
размещается одна макрокоманда. Для
определения ее параметров пользователь
должен заполнить предложенные программой
формы в нижней части бланка. Чаще всего
оператору СУБД удается определить все
параметры макрокоманды «по ходу дела»,
не штудируя справочник.
Запуск
макроса может осуществляться следующими
способами:
1.Щелчок
по кнопке Запуск
на панели инструментов ( на ней изображен
восклицательный знак).
2.Вызов
команды Запуск
макроса из
меню Сервис.
3.Маркировка
имени макроса и нажатие кнопки Запуск
на вкладке Макросы
окна базы данных.
4.Двойной
щелчок на имени, запускаемого макроса.
После
того как макрос написан, разработчик
приложения или пользователь должен
определить способ запуска макроса.
Кроме тривиального пути – при помощи
меню Сервис
— макросы можно вызывать программным
путем – автоматически или посредством
элементов управления в формах и отчетах.
Если макрос должен запускаться независимо
от желания пользователя, то он должен
быть поставлен в соответствие некоторому
событию, которое, в свою очередь, связано
с определенным объектом. Достаточно
при определении свойств объекта в
строке, соответствующей событию, указать
имя макроса.
Кнопка,
запускающая макрос. Макрос
может быть вызван после щелчка мышью
элемента управления в форме или отчете.
Существуют задачи, в которых
пользователю необходимо переходить от
формы к форме в определенной
последовательности. Естественно, ему
будет удобно, если правильная очередность
форм будет заложена в программу, чтобы
не приходилось думать о том, какую форму
открывать следующей. В самом Access
подобные кнопки используются для
перехода по рекламно – учебным окнам
и при выполнении мастеров.
Кнопка
с контекстным меню.
С элементом управления (в частности, с
кнопкой) может быть связано контекстное
меню с командами, определенными
пользователем. Каждая из них будет
запускать на выполнение макрос или
подпрограмму Visual
Basic.
Определим последовательность
действий, которые нужно выполнить, чтобы
создать такое меню, связанное с кнопкой.
Предположим, что в меню должны входить
три команды, которые запускают макросы
Макро-1, Макро-2 и Макро-3.
Для
решения этой задачи необходимо выполнить
следующие действия.
-
Открыть
форму в режиме конструктора и создать
новую кнопку. -
Раскрыть
окно свойств кнопки и определить ее
подпись, например «Новое меню». -
На
вкладке свойств Другие
выбрать свойство Контекстное
меню и нажать
кнопку в правой части строки, вызвав
построитель меню. -
Указать
шаблон «Пустая строка меню». -
Ввести
в строку Название
имя меню, например Мое
меню, и
нажать кнопку Далее.
Введенный текст переместится в нижнюю
часть окна. -
Напечатать
в строке Название
имя первой команды меню. В нашем примере
это Команда
меню 1. Нажать
кнопку с изображением стрелки вправо.
Название команды появится в нижней
части окна с отступом. Это является
признаком команды меню, в отличие от
имени меню, которое выводится без
отступа. -
В
строке Макрокоманда
выбрать из списка ЗапускМакроса. -
В
строке Аргументы
ввести имя макроса Макро-1
и нажать кнопку Далее. -
Повторить
пункты 5—8 для второго и третьего
элементов меню, задав соответствующие
названия команд и имена макросов.
10.
Нажать кнопку ОК
и ввести в открывшемся окне Сохранение
название меню, например «Новое
меню».
Теперь,
если раскрыть форму в режиме просмотра
и щелкнуть созданную нами кнопку правой
кнопкой мыши, то появляется контекстное
меню. Выбор команды в нем приведет к
выполнению соответствующего
макроса.
Возможности
построителя меню шире, чем показано в
этом примере. При создании меню можно
определять «горячие клавиши», связанные
с его элементами, вводить разделители
групп команд, добавлять подкоманды и
т.д.
Контекстное
меню вызывается после щелчка элемента
управления правой кнопкой мыши. С каким
событием надо связать новый макрос,
если нужно, чтобы он запускался после
обычного щелчка того же элемента
управления? С событием Нажатие
кнопки. Оно
возникает, если вы щелкаете объект
мышью.
А
можно связать с объектом еще один макрос,
который запускался бы при двойном
щелчке? Нет, нельзя. При двойном щелчке
возникает событие Нажатие
кнопки и
будет выполняться тот же макрос, что и
при простом щелчке. А можно запускать
макрос при помощи двойного нажатия
кнопки мыши, если обработка события
Нажатие
кнопки не
определена? Да, можно. В этом случае
макрос должен вызываться событием
Двойное
нажатие кнопки.
Access
имеет обширный набор макрокоманд,
обсуждение которых выходит за рамки
данного пособия.
Редактирование
макросов. Структура
таблицы в окне макросов напоминает
структуру обычной таблицы базы
данных. Все известные команды редактирования
текста, используемые для удаления,
переноса, копирования содержимого
ячеек, могут применяться и в рамках
таблицы макроса,
Редактирование
макроса осуществляется в режиме
конструктора, для установки которого
надлежит нажать кнопку Конструктор
в окне базы данных. Рекомендуется вносить
комментарии в столбец
Примечание.
Они могут оказаться полезными при
изменения макроса автором или другим
пользователем, а также позволят получить
в любой момент подробную информацию
о макрокомандах без их предварительной
маркировки. Аргументы и краткое описание
макрокоманды отображаются в окне
макроса только при ее маркировке.
Отладка макроса.
Макрос не
всегда функционирует так, как было
задумано. Можно выделить две категории
ошибок в макросах: – синтаксические; –
логические.
Чаще всего появление
ошибок в макросах обусловлено
несоблюдением синтаксических
правил. В случае выбора макрокоманд
или значений аргументов в списках
вероятность возникновения ошибки
крайне мала. Совсем по-другому обстоит
дело с аргументами, значения которых
задаются “вручную”. Если в имени
объекта допущена ошибка, действие не
может быть выполнено. Подобная ситуация
возникает и при удалении или
переименовании объекта. Если макрос,
в котором есть ссылки на такие объекты,
не изменен соответствующим образом,
при его выполнении появится сообщение
об ошибке.
Необходимо помнить,
что действие макрокоманды, в которой
не указан целевой объект, распространяется
на активный объект.
Типичной является
логическая ошибка при задании условия,
которая может привести к появлению
бесконечного цикла. Завершить цикл
может только закрытие Access. Во избежание
подобных ситуаций пользователь
должен проверить все условия, прежде
чем запускать макрокоманду.
В случае появления
логических ошибок в макросах возможна
потеря данных. Логические ошибки не
могут быть обнаружены программой,
их поиск требует участия пользователя.
Синтаксические
ошибки легко распознаются программой
Access, которая выдает сообщение о них .
При этом отображаются
имя макроса (поле Имя
макроса) и
макрокоманды (поле
Имя макрокоманды)
с синтаксической ошибкой. В области
Аргументы
приводится список аргументов макрокоманды,
разделенных точками с запятой. Их
следует проверить, так как чаще всего
они являются причиной ошибки.
Применение
пошагового режима. В
Access
предусмотрена возможность выполнения
макроса в пошаговом режиме. Для активизации
этого режима предназначена команда
По шагам
меню Вид.
В этом режиме перед выполнением каждой
макрокоманды происходит останов, который
сопровождается появлением диалогового
окна Пошаговое
выполнение макроса.
В этом окне приводится информация о
макросе, о макрокоманде, которая будет
выполняться, и о ее аргументах Выполняя
макрос по шагам, легче локализовать и
идентифицировать ошибку.
Если в качестве
аргумента используется выражение,
начинающееся знаком равенства,
Access
вычисляет результат и отображает
его в поле Аргументы.
Диалоговое окно
пошагового режима похоже на диалоговое
окно, появляющееся при возникновении
ошибки выполнения, но в окне пошагового
режима доступны кнопки
Шаг и
Продолжить.
Первая позволяет выполнить следующую
макрокоманду, а вторая – все последующие
шаги без остановок. т.е. выключить
пошаговый режим.
Объединение
макросов в макрогруппу.
Для работы с одним объектом базы данных
могут понадобиться десятки макросов,
каждый из которых автоматизирует
некоторый процесс. Такие макросы
можно разработать отдельно и запускать
по очереди. Однако все макросы,
предназначенные для обработки одного
объекта, целесообразно объединить
в группу, присвоив им уникальные в
пределах группы имена. Объединенные в
группы макросы доступны в одном окне
макроса (столбец Имя
макроса
должен отображаться).
Начало каждого
макроса обозначается его именем в
столбце Имя
макроса. Два
соседних макроса группы следует разделять
пустой строкой, чтобы облегчить просмотр
и редактирование. Для создания группы
макросов необходимо выполнить следующие
действия:
– Открыть окно
конструктора макроса, в которое должны
быть помещены группируемые макросы.
– Щелкнуть на кнопке
Имя макроса
(на ней изображены литеры xyz)
или активизировать команду Имя
макроса из
меню Вид,
чтобы отобразить на экране столбец
Имя макроса.
– В первую ячейку
столбца Имя
макроса
ввести имя первого макроса.
– В ячейки столбца
Макрокоманда
ввести макрокоманды, составляющие
тело проектируемого макроса.
– Активизировать
следующую свободную строку и в поле Имя
макроса
ввести имя второго макроса. Между
макросами можно оставить пустые
строки, что повысит их удобочитаемость.
– Написать остальные
макросы и сохранить макрогруппу с
помощью команды
Сохранить как
из меню Файл,
задав, имя.
Способ вызова
макроса, входящего в макрогруппу,
отличается от способа вызова отдельно
сохраненного макроса. В результате
щелчка на кнопке Запуск
выполняется только первый макрос
макрогруппы. То же происходит при
попытке запустить макрогруппу путем
двойного щелчка на ее имени в окне базы
данных.
Вызов макроса из
макрогруппы осуществляется путем
указания точных имен макрогруппы и
макроса в группе. Эти имена разделяются
точкой. Если макрогруппа в окне базы
данных имеет имя
Все макросы,
а необходимый макрос – имя Тест1,
то для вызова последнего необходимо:
– вызвать команду
Запуск макроса
из меню
Сервис;
– в открывшемся
диалоговом окне ввести текст Все
макросы. Тест1;
– запустить макрос,
щелкнув на кнопке ОК.
В созданную
макрогруппу в любой момент можно добавить
новые макросы.
Связывание
макросов с командами меню. Активизация
многих команд Access сопровождается
указанием дополнительных данных,
определяющих способ их выполнения. Для
получения необходимых сведений
Access открывает диалоговое окно, в котором
пользователь выполняет установки.
Автоматизировать
эти действия можно путем создания
соответствующих макрокоманд. Некоторые
из них эквивалентны командам меню.
Задать команду меню, которую необходимо
выполнить, позволяет макрокоманда
ВыполнитьКоманду.
Например, в случае необходимости найти
запись в таблице, запросе или форме
можно воспользоваться макрокомандой
ВыполнитьКоманду
с аргументом
Find.
При выполнении этой макрокоманды
открывается диалоговое окно для указания
критериев поиска.
Поскольку команда
поиска используется довольно часто, в
состав доступных макрокоманд введена
макрокоманда
НайтиЗапись.
В списке аргументов этой макрокоманды
– все элементы диалогового окна поиска,
которое открывается с помощью команды
Find.
Установив значения для этих аргументов
на стадии разработки макроса, можно
избавить себя от необходимости заполнять
поля диалогового окна поиска при
выполнении макрокоманды. Конечно, таким
образом можно задавать только неизменные
условия поиска. Для поиска записи по
содержимому, которое изменяется,
необходимо использовать макрокоманду
ВыполнитьКоманду
с аргументом Find
и с последующим заполнением полей
диалогового окна поиска, в котором и
указывается оригинальное искомое
значение.
События в Access.
В базе данных
хранится информация о состоянии ее
объектов. Любое изменение состояния
формы или отчета называется
событием.
Каждый из этих объектов имеет свой набор
событий.
Поскольку
макросы часто
требуется
«привязывать» к
событиям,
разработчик базы
данных должен
иметь представление о том,
какие события
вообще существуют. Это позволит составить
план разработки
приложения
и выбрать верный путь решения
пользовательских задач — запрограммировать
реакцию СУБД на действия пользователя
и обеспечить доступ оператора к
инструментам и подпрограммам. Можно
выделить события, связанные с
клавиатурой
и мышью; события
данных; события управления объектами;
события печати.
Связывание
макросов с событиями. С
событиями удобно связывать макросы.
Если необходимо выполнить макрос при
загрузке базы данных, то этому макросу
необходимо присвоить имя Autoexec
(макрос с таким именем автоматически
выполняется при загрузке базы данных).
При этом можно произвольным образом
пользоваться строчными и прописными
буквами. При каждом открытии базы данных
Access
проверяет, присутствует ли в ней макрос
с именем AutoExec,
и, если находит, выполняет его. В
противном случае открытие базы не
сопровождается дополнительными
действиями. Внутри одной базы данных
можно использовать только один макрос
AutoExec.
Если имя
AutoExec
присвоено макрогруппе, то при открытии
базы данных будет выполнен только
первый макрос этой группы. Чтобы при
загрузке базы последовательно приводились
в исполнение несколько макросов,
необходимо ввести в макрос AutoExec
макрокоманду ЗапускМакроса,
что позволит выполнить макрос с
произвольным именем (имя задается
аргументом) и вернуться к следующей
за ЗапускМакроса
макрокоманде в макросе AutoExec.
Макрос
AutoExec
не выполняется, если перед открытием
база данных нажать и удерживать клавишу
[Shift].
Выполнение
макроса с условием. Порядок
выполнения макрокоманд, содержащихся
в макросе, определяется условиями,
задаваемыми в столбце Условие
– это логическое выражение, принимающее
значение
True
или False.
Посредством условий осуществляется
управление запуском и выполнением
макроса.
Имя анализируемого
условием поля, содержащее пробел или
знак препинания, следует заключать в
квадратные скобки.
Если при выполнении
определенного условия должны приводиться
в исполнение несколько макрокоманд,
следующих друг за другом, достаточно
записать условие в первой строке столбца
Условие,
а не повторять его в каждой строке. В
остальных подлежащих условному выполнению
строках надлежит ввести многоточие
(…) в столбцы Условие.
Управление
представлением объектов из макроса.
Немалую роль
в создании комфортных условий работы
в среде Access играет представление на
экране окон. При работе с каталогом
телефонов клиентов наиболее удобно
полноэкранное представление окна
формы. При этом пользователь сразу
увидит значительную часть информации.
Установить такой режим представления
формы можно с помощью простого макроса
с использованием макрокоманды Развернуть.
Есть и другие способы выбора представления
окна посредством макроса. Задать
представление окна формы можно с помощью
аргумента Режим
окна
макрокоманды
ОткрытьФорму.
Доступны следующие значения аргумента
Режим окна:
Значение аргумента |
Представление |
Normal |
Соответствует |
Hidden |
Соответствует |
Ikon |
Представление |
Dialog |
Определение окна |
Если установлено
значение Окно
диалога,
окно формы открывается поверх
остальных окон Access.
Чтобы получить доступ к этим окнам, окно
формы необходимо закрыть. Такой режим
применяют при блокировке обращения
пользователей к другим окнам.
Значение Normal
устанавливается по умолчанию. В этом
случае можно задать местоположение и
размер окна с помощью специальной
команды MoveSize
(Сдвиг/Размер).
Местоположение открываемого окна
определяется путем указания расстояния
по вертикали вниз (аргумент Down)
и по горизонтали вправо (аргумент Right)
от левого верхнего угла окна Access.
Размер окна по вертикали равен значению
аргумента Height,
а по горизонтали
– значению
аргумента
Width.
В качестве
единицы измерения используются сантиметры
или
дюймы (в
зависимости от установок в Control
Panel
Windows).
Обозначения единиц измерения вводить
не обязательно, они вставляются
автоматически при переходе к полю
следующего аргумента.
Команда MoveSize
не воздействует на окно формы, если
перед ее выполнением для аргумента
Режим окна
макрокоманды
ОткрытьФорму
было установлено значение
Окно диалога.
Указание имен
объектов. Чтобы
сослаться на элемент или свойство
объекта базы данных, необходимо знать
его точное имя. Имена элементов должны
быть уникальными в одной форме
(отчете) и могут совпадать в разных
формах (отчетах). При создании ссылки
на элемент управления необходимо
учитывать, какой объект базы данных
является активным.
Чтобы сослаться
на элемент неактивного объекта, нужно
указать полное имя этого элемента.
Например, если запустить макрокоманду
Управление вводом из
окна базы данных, не открывая форму,
содержащую поле
Оклад, то
выполнение макроса будет прервано. Этот
макрос можно использовать в другой
форме или в другом отчете, если в них
находится поле с таким именем. Такая
универсальность макроса вряд ли может
быть отнесена к его достоинствам,
поскольку в большинстве случаев макросы
разрабатываются для применения с
конкретным объектами. Для доступа к
элементу объекта необходимо включить
в макрокоманду его полную спецификацию,
которая в общем случае имеет вид:
[Тип_ Объекта]![Имя_
Объекта]![Имя_ Элемента]
Полная спецификация
позволяет однозначно идентифицировать
элемент формы. Восклицательный знак
отделяет имя объекта от имени элемента.
Если обрабатывается (анализируется)
элемент отчета, то в качестве типа
объекта следует задать тип Reports.
В результате спецификация будет иметь
такой вид:
[Reports]!
[Имя_ Объекта]![Имя_ Элемента]
Вызов приложений
и управление ими. С
помощью макроса можно запустить из
Access
приложения Microsoft
Office,
а также программы, работающие под
управлением Windows
или DOS,
например, чтобы выполнить некоторые
вычисления
(с помощью
Excel)
или сделать небольшие заметки посредством
редакторов Notepad
и Word.
Вызов выполняется одинаково во всех
случаях и заключается главным образом
в указании имени запускаемой программы.
Макрос для вызова прикладной программы
можно связать с кнопкой формы, таким
образом, ускорив доступ к нужному
приложению.
Запуск прикладных
программ с параметрами. Запуская
прикладные программы с помощью
макрокоманды Запуск_
Приложений,
можно указывать ключи, которые обычно
вводятся в командной строке после
имени программы при запуске с уровня
DOS.
Эти ключи служат для задания режима
работы прикладной программы. Если, к
примеру, из макроса запускается редактор
Word,
то параметр /t
имя_документа применяется для загрузки
документа с указанным именем, который
используется в качестве шаблона. Ключ
/n
указывается при запуске Word
без открытия нового документа. Способ
указания ключей в аргументе Command
Line
такой же, как в командной строке DOS,
например:
C:Program
FilesMicrosoft
Officefficewinword.exe
/n
Использование ключей допускается при
запуске большинства прикладных программ.
Управление
прикладными программами из Access.
В макросах
предусмотрена возможность управления
прикладными программами из Access с помощью
комбинаций клавиш. Access моделирует в
макросе передачу прикладной программе
последовательности нажатий клавиш
с помощью макрокоманды КомандыКлавиатуры.
С помощью макрокоманды
КомандыКлавиатуры
пользователь может передать в Access
или в другую прикладную программу любую
последовательность нажатий клавиш,
которая, однако, не должна превышать
255 символов. Обозначения отдельных
клавиш заключаются в фигурные скобки.
Для обозначения клавиш [Alt],
[Ctrl]
и [Shift]
используются следующие символы: Alt
– %; Ctrl
– ^; Shift
– + .
Остальные клавиши
обозначаются следующим образом:
Backspace
– {BACKSPACE};
Del
– {DEL};
End
– {END};
Esc
– {ESC};
«Влево» – {LEFT};
Home
– {HOME};
Page
Down
– {PGDN};
Print
Screen
– {PRTSC};
Scroll
Lock
– {SCROLLOCK};
«Вверх» – {UP};
A
– Z
– {A}
– {Z};
Break
– {BREAK};
«Вниз» – {DOWN};
Enter
– {ENTER};
Help
– {HELP};
Num
Lock
– {NUMLOCK};
Ins
– {INSERT};
Page
Up
– {PGUP};
«Вправо» – {RIGHT};
Tab
– {TAB};
F1
– F15
– {F1}
– {F15};
0 – 9 – {0} –{9}.
Если в одной строке
аргументы команды
КомандыКлавиатуры
следуют друг за другом несколько
комбинаций клавиш, то для аргумента
Пауза
следует установить значение Yes,
чтобы выполнение макроса продолжалось
только после нажатия последней клавиши
в комбинации.
Оформление
собственной строки меню. При
работе с одной и той же базой данных
пользователю часто приходится выполнять
одинаковые последовательности действий.
Автоматизировав рутинные операции,
можно значительно ускорить обработку
данных. Один из самых эффективных
способов это создание строк меню,
содержащих только необходимые команды.
При таком ограничении числа доступных
команд повышается устойчивость системы
к ошибкам пользователя, а пользователю
предоставляется возможность
сосредоточиться на поставленной задаче.
Процедура создания меню включает
несколько этапов.
На первом этапе
разрабатываются макросы, которые будут
применяться в качестве команд меню.
Если в пользовательское
меню наряду с собственными командами
необходимо включить и встроенные команды
Access,
например, Копировать
или Вставить,
следует оформить их как самостоятельные
макросы, состоящие из одной макрокоманды
ВыполнитьКоманду,
которая вызывает соответствующую
команду.
Второй этап включает
создание макрогруппы, включающей
макросы для выполнения команд меню.
На третьем этапе
необходимо составить макрос, формирующий
и обслуживающий пользовательскую
строку меню.
Четверг, 18.05.2023, 17:28
Приветствую Вас Гость | RSS
МАСТЕР ПО ОБРАБОТКЕ ЦИФРОЙ ИНФОРМАЦИИ
Макросы. Создание кнопок для запуска формОпределение макросаМакрос – это набор из нескольких команд на языке Visual Basic, который позволяет упростить или запрограммировать операции с базой данной. Как правило макросы записываются в автоматическом режиме, поэтому нет необходимости в знании языка Viual Basic. Макросы программируют рутинные операции при помощи легко создаваемммых кнопок. С помощью макросов удобно создавать главное меню прикладной системы и подчиненные меню. В Access 97 имеется 49 макрокоманд, которые можно включать в макросы. Как правило макросы связаны с “реакцией на событие” управляющих элементов Access. События определяют, что происходит при нажатии кнопки, входе или выходе из поля БД, открытии или закрытии формы или отчета. Замечание. Первоначально задания приводятся с учетом Access 97, в дальнейшем планируется их адаптировать под более поздние версии. Создание кнопок для запуска формСоздадим форму “Панель с кнопками” для вызова некоторых форм нашей базы данных. Для этого выберем закладку Макрос на панели базы данных, нажмем кнопку Создать. На экране появится окноМакрос1: макрос. В нем имеется таблица с двумя полями. Первое из них предназначено для записи макроса, второе – для комментариев. Теперь сделаем доступными одновременно два окна, для этого выберем пункты меню Окно / Слева направо. Нажмем на панели БД закладку Форма, выберем форму “Покупатель” и перетащим ее в первую строку таблицу определения макроса в столбец Макрокоманда. Там появится текст Открыть Форму, в нижней части окна – аргументы макрокоманды. Свернем окно базы данных, откроем побольше окно макросов. В строке Примечание запишем Ввод данных по покупателю. Закроем макрос, сохраним его с именем “Покупатель”. Теперь создадим форму для размещения кнопок. Выберем закладку Форма в окне базы данных,создадим «пустую» форму, для чего нажмем кнопку Создать и выберем режим Конструктор. Затем снова перейдем к закладке Макрос, возьмем созданный нами макрос “Покупатель” и отбуксируем его в форму. Там появится кнопка с надписью Покупатель. При просмотре списка можно обнаружить, что в свойстве Нажатие кнопки записано имя макроса «Покупатель». Закроем форму и сохраним ее с именем “Панель кнопок”. Для проверки ее работы откроем форму и нажмем кнопку Покупатель. На экране появится созданная нами ранее форма “Покупатель”, с помощью которой можно просматривать и вводить данные по покупателям. Задание
|
|