Foreversoft.ru

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

Access макрос данных

Создание макроса пользовательского интерфейса

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

Примечание: Эта статья не относится к веб-приложениям Access.

В этой статье

Общие сведения

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

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

Построитель макросов

Ниже описаны основные основные функции построителя макросов.

Каталог макрокоманд Макрокоманды упорядочены по типу и доступны для поиска.

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

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

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

Условные операторы Обеспечивает более сложное выполнение логики с поддержкой вложенных функций если и/или других.

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

Упрощение совместного использования Скопируйте макрос, а затем вставьте его в виде XML-файла в сообщение электронной почты, запись в группу новостей, блог или образец кода.

В этом видеоролике показано, как пошаговое руководство по основным областям построителя макросов.

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

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

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

Откроется конструктор макросов.

На панели быстрого доступа нажмите кнопку Сохранить.

В диалоговом окне Сохранение введите имя макроса, а затем нажмите кнопку «ОК».

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

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

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

В области навигации щелкните правой кнопкой мыши форму или отчет, в которые нужно добавить макрос, и выберите команду Режим макета.

Если окно свойств не отображается, нажмите клавишу F4.

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

В области задач «Страница свойств» откройте вкладку Событие.

Щелкните поле свойства для события, которое должно активировать макрос. Например, если вы хотите, чтобы макрос выполнялся при нажатии кнопки, щелкните поле свойства Нажатие для кнопки.

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

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

Нажмите кнопку » построить «.

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

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

Добавление макрокоманд в макрос

Макрокомандами называются отдельные команды, которые образуют макрос. Имя макрокоманды отражает ее назначение, например НайтиЗапись или ЗакрытьБазуДанных.

Шаг 1. Просмотр или поиск макрокоманд

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

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

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

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

Найти макрокоманду можно одним из следующих способов:

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

Читать еще:  Как быстро сделать презентацию в powerpoint

Найдите макрокоманду в области «Каталог макрокоманд». Макрокоманды сгруппированы по категориям. Разверните категории для просмотра макрокоманд. При выборе макрокоманды в нижней части каталога выводится ее краткое описание.

Выполните поиск макрокоманды, введя текст в поле «Поиск» в верхней части области «Каталог макрокоманд». По мере ввода список макрокоманд фильтруется и в нем выводятся все макросы, которые содержат текст. 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

Макросы в access

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

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

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

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

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

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

Читать еще:  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 были добавлены новые функции и действия макросов, избавляющие от необходимости в коде. Это упрощает добавление функций в базу данных и помогает защитить ее.

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

Читать еще:  Простой запрос в access

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

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

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

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

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

как просмотреть код макроса в access?

У меня есть база данных Microsoft Access и там есть макрос. Как просмотреть код макроса?

5 ответов

откройте базу данных Access, вы увидите таблицу, запрос, отчет, модуль и макрос.
Это содержит макросы, которые можно использовать для вызова общих действий MS-Access в последовательности.

для пользовательского макроса VBA нажмите ALT+F11.

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

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

изменить: В соответствии с ответом Майкла Диллона SaveAsText сохраняет команды в макросе без необходимости преобразования в VBA. Я не знаю, что произошло, когда я проверил это, но он не произвел полезный текст в результирующем файле.

Итак, сегодня я узнал что-то новое!

ОРИГИНАЛЬНЫЙ ПОСТ: Чтобы расширить вопрос, я задался вопросом, есть ли способ получить содержимое макроса из кода, и он не кажется, что есть (по крайней мере, не в A2003, который то, что я запускаю).

есть две коллекции, через которые вы можете получить доступ к сохраненным макросам:

свойства, которые Intellisense определяет для двух коллекций, довольно разные, потому что коллекции имеют разные типы. Первый (т. е. традиционный, pre-A2000 способ) — через коллекцию документов, а методы/свойства/члены всех документов одинаковы, т. е. не специфичны для макросов.

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

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

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

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

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

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

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

в Access 2010, перейдите на вкладку создание на ленте. Нажмите Кнопку Макрос. В правой части экрана должна появиться панель «каталог действий». Внизу есть раздел под названием » В этой базе данных.»При нажатии на одно из имен макросов должен отображаться его код.

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