Как найти макросы в access

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

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

В этой статье

  • Обзор

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

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

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

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

  • Управление выполнением программы с помощью операторов “Если”, “Иначе если” и “Иначе”

  • Создание вложенных макросов

  • Группировка связанных действий

  • Развертывание и свертывание макрокоманд и блоков

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

  • Предоставление общего доступа к макросу

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

  • Отладка макроса

  • Преобразование макроса в код VBA

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

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

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

К началу страницы

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

Вот некоторые основные возможности конструктора макроса.

  • Каталог действий    Макро макрос у систематизованы по типу и с помощью поиска.

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

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

  • Поток программы    Создавайте более понятные макросы с строками прикомментов и группами действий.

  • Условные выписки    Разрешить более сложное выполнение логики с поддержкой вложенных если/Иначе если.

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

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

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

Браузер не поддерживает видео.

К началу страницы

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

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

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

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

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

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

  4. Перейдите к разделу Добавление макрокоманд в макрос.

К началу страницы

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

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

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

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

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

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

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

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

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

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

  8. Нажмите кнопку “Построить” Изображение кнопки.

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

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

К началу страницы

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

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

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

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

Примечания: 

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

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

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

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

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

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

  • Выполните поиск макрокоманды, введя текст в поле “Поиск” в верхней части области “Каталог макрокоманд”. По мере ввода список макрокоманд фильтруется и в нем выводятся все макросы, которые содержат текст. Access ищет введенный текст в именах макросов и их описаниях.

Шаг 2. Добавление макрокоманды в макрос

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

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

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

  • Дважды щелкните макрокоманду в каталоге макрокоманд.

    • Если в области макроса выбрана макрокоманда, Access добавит новую макрокоманду под выбранной.

    • Если в области макроса выделен блок Группа, Если, Иначе если, Иначе или Вложенный макрос, Access добавит новую макрокоманду в него.

    • Если в области макроса не выбраны макрокоманды и блоки, Access добавит новую макрокоманду в конец макроса.

      Примечания: 

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

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

        • Если вы хотите просто скопировать макрокоманды из автономного макроса в текущий (вместо того чтобы создавать макрокоманду ЗапускМакроса), щелкните его правой кнопкой мыши в каталоге макрокоманд и выберите команду Добавить копию макроса.

        • При перетаскивании внедренного макроса (указанного в объекте формы или отчета) в область макроса макрокоманды из него копируются в текущий макрос.

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

Шаг 3. Ввод аргументов

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

Ввод выражения с помощью функции 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 равна текущей дате.

Блок Иначе выполняется, если ни один из предыдущих блоков не выполнился.

На этом блок Если заканчивается.

Добавление блока “Если” в макрос

  1. Выберите оператор Если в раскрывающемся списке Добавить новую макрокоманду или перетащите его из области “Каталог макрокоманд” в область макроса.

  2. В поле в верхней части блока Если введите выражение, определяющее, когда будет выполняться блок. Выражение должно быть логическим (то есть его результатом должно быть значение “Да” или “Нет”).

  3. Добавьте макрокоманды в блок Если, выбрав их из раскрывающегося списка Добавить новую макрокоманду в блоке или перетащив их из области “Каталог макрокоманд” в блок Если.

Добавление блоков “Иначе” и “Иначе если” в блок “Если”

  1. Выберите блок
    Если

    и в его правом нижнем углу щелкните
    Добавить блок “Иначе” или Добавить блок “Иначе если”.

  2. Если вы добавляете блок Иначе если, введите выражение, определяющее, когда будет выполняться блок. Выражение должно быть логическим (то есть его результатом должно быть значение “Истина” или “Ложь”).

  3. Добавьте макрокоманды в блок Иначе если или Иначе, выбрав их из раскрывающегося списка Добавить новую макрокоманду в блоке или перетащив их из области “Каталог макрокоманд” в блок.

    Примечания: 

    • Команды для добавления блоков Если, Иначе если и Иначе также доступны в контекстном меню, которое появляется при щелчке макрокоманды правой кнопкой мыши.

    • У блоков Если может быть до 10 уровней вложенности.

К началу страницы

Создание вложенных макросов

У каждого макроса может быть несколько вложенных макросов. Вложенный макрос вызывается по имени из макрокоманд ЗапускМакроса или ПриОшибке.

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

Примечания: 

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

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

  • Чтобы вызвать вложенный макрос (например, в свойстве события или с помощью макрокоманд ЗапускМакроса и ПриОшибке), используйте следующий синтаксис:

    имя_макроса.имя_вложенного_макроса

К началу страницы

Группировка связанных макрокоманд

Вы можете сделать макрос более понятным, сгруппировав макрокоманды и присвоив группам продуманные имена. Например, вы можете добавить макрокоманды, открывающие и фильтрующие форму, в группу с именем “Открытие и фильтрация формы”. Это позволяет проще понять, какие макрокоманды связаны друг с другом. Блок Группа не влияет на то, как выполняются макрокоманды, и группу невозможно вызвать или запустить по отдельности. Ее основное назначение — присвоение метки группе макрокоманд, которая делает макрос более понятным. Кроме того, при редактировании крупного макроса вы можете свернуть каждый блок группы до одной строки, чтобы меньше использовать прокрутку.

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

  1. Выберите макрокоманды, которые вы хотите сгруппировать.

  2. Щелкните выбранные макрокоманды правой кнопкой мыши и выберите Сделать блок группы.

  3. В поле в верхней части блока Группа введите имя группы.

Если макрокоманды не добавлены:

  1. Перетащите блок Группа из каталога макрокоманд в область макроса.

  2. В поле в верхней части блока Группа введите имя группы.

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

Блоки Группа могут содержать другие блоки Группы. Допускается до 9 уровней вложенности.

К началу страницы

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

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

Развертывание или свертывание одной макрокоманды или блока

  • Щелкните знак “плюс” (+) или “минус” () слева от имени макроса или блока. Кроме того, можно выбрать макрокоманду или блок с помощью клавиш СТРЕЛКА ВВЕРХ или СТРЕЛКА ВНИЗ, а затем нажать клавишу СТРЕЛКА ВЛЕВО или СТРЕЛКА ВПРАВО, чтобы свернуть или развернуть их.

Развертывание или свертывание всех макрокоманд (но не блоков)

  • На вкладке Конструктор в группе Развернуть или свернуть щелкните Развернуть макрокоманды или Свернуть макрокоманды.

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

  • На вкладке Конструктор в группе Развернуть или свернуть щелкните Развернуть все или Свернуть все.

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

К началу страницы

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

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

Совет:  Чтобы быстро продублировать выбранные макрокоманды, удерживайте нажатой клавишу CTRL и перетащите их в то место макроса, куда вы хотите их скопировать.

Предоставление общего доступа к макросу

Если скопировать макрокоманды в буфер обмена, их можно вставить как XML-код в любое приложение, в котором можно ввести текст. Это позволяет отправить макрос коллеге по электронной почте или опубликовать его на форуме, в блоге или на другом веб-сайте. Получатель затем может скопировать XML и вставить его в конструктор макросов Access 2010. При этом будет получен точно такой же макрос, как у вас.

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

Вы можете запустить макрос с помощью следующих способов:

  • Дважды щелкните макрос в области навигации.

  • Вызовите макрос с помощью макрокоманды ЗапускМакроса или ПриОшибке.

  • Введите имя макроса в свойство события объекта. Макрос будет выполняться при активизации события.

К началу страницы

Отладка макроса

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

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

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

Чтобы добавить вложенный макрос для обработки ошибок:

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

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

  3. В поле справа от слова Вложенный макрос введите имя вложенного макроса, например ОбработкаОшибок.

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

  5. В поле Сообщение введите следующий текст: =[MacroError].[Description]

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

  7. Для аргумента Перейти укажите значение Имя макроса.

  8. В поле Имя макроса введите имя вложенного макроса обработки ошибок (в данном примере — ОбработкаОшибок).

  9. Перетащите макрокоманду ПриОшибке в самую верхнюю часть макроса.

На следующем рисунке показан макрос с макрокомандой ПриОшибке и вложенным макросом ОбработкаОшибок.

Макрос с вложенным макросом для обработки ошибок.

Макрокоманда ПриОшибке расположена вверху макроса и вызывает вложенный макрос ОбработкаОшибок в случае ошибки.

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

Использование команды пошагового исполнения

Пошаговое исполнение —это режим отладки макроса, который можно использовать для выполнения макроса по одной макрокоманде за раз. После выполнения каждой макрокоманды выводится диалоговое окно со сведениями о ней и кодами всех возникших ошибок. Но так как в диалоговом окне “Пошаговое исполнение макроса” не выводится описание ошибки, мы рекомендуем использовать метод с вложенными макросами обработки ошибок, описанный в предыдущем разделе.

Чтобы перейти в пошаговый режим:

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

  2. На вкладке Конструктор в группе Сервис нажмите кнопку По шагам.

  3. Сохраните и закройте макрос.

При следующем запуске макроса откроется диалоговое окно Пошаговое исполнение макроса. В нем выводятся следующие сведения о каждой макрокоманде:

  • имя макроса;

  • условие (для блоков “Если”);

  • имя макрокоманды;

  • аргументы;

  • номер ошибки (номер 0 означает, что ошибки нет).

При пошаговом исполнении макрокоманд можно использовать следующие три кнопки в диалоговом окне:

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

  • Чтобы остановить все макросы, которые выполняются в данный момент, нажмите кнопку Остановить все макросы. Пошаговый режим будет по-прежнему действовать при следующем запуске макроса.

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

    Примечания: 

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

    • Чтобы перейти в пошаговый режим по время выполнения макроса, нажмите клавиши CTRL+BREAK.

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

    • Пошаговый режим недоступен для веб-баз данных.

К началу страницы

Преобразование макроса в код VBA

Макрос — это подмножество команд, доступных на языке программирования Visual Basic для приложений (VBA). Если вам требуется больше функций, чем могут предоставлять макросы, вы можете легко преобразовать автономный объект макроса в код VBA, а затем использовать расширенный набор функций VBA. Имейте в виду, что код VBA не будет запускаться в браузере. Любой код VBA, добавленный в веб-базу данных, будет работать только в том случае, если база данных открыта в Access.

Примечание:  Внедренные макросы невозможно преобразовать в код VBA.

Чтобы преобразовать макрос в код VBA:

  1. В области навигации щелкните объект макроса правой кнопкой мыши и выберите пункт “Конструктор”.

  2. На вкладке Конструктор в группе Сервис выберите команду Преобразовать макросы в Visual Basic.

  3. В диалоговом окне Преобразование макроса укажите, нужно ли добавлять код обработки ошибок и примечания в модуль VBA, а затем нажмите кнопку Преобразовать.

Access подтвердит, что макрос был преобразован, и откроет редактор Visual Basic. Дважды щелкните преобразованный макрос в области проекта, чтобы просмотреть и изменить модуль.

К началу страницы

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

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

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

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

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

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

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

Каталог макрокоманд

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

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

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

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

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

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

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

Работа функции IntelliSence

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

Управление командами в макросе

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

Макросы на форму 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. Открыть
    форму в режиме конструктора и создать
    новую кнопку.

  2. Раскрыть
    окно свойств кнопки и определить ее
    подпись, на­пример «Но­вое меню».

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

  4. Указать
    шаблон «Пустая строка меню».

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

  6. Напечатать
    в строке Название
    имя первой команды меню. В нашем примере
    это Команда
    меню 1
    . Нажать
    кнопку с изображением стрелки вправо.
    Название команды появится в нижней
    части окна с от­ступом. Это является
    признаком команды меню, в отличие от
    имени меню, которое выводится без
    отступа.

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

  8. В
    строке Аргументы
    ввести имя макроса Макро-1
    и нажать кнопку Далее.

  9. Повторить
    пункты 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
приложения Mic­rosoft
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

МАСТЕР ПО ОБРАБОТКЕ ЦИФРОЙ ИНФОРМАЦИИ

Макросы. Создание кнопок для запуска форм

Определение макроса

makrosМакрос – это набор из нескольких команд на языке Visual Basic, который позволяет упростить или запрограммировать операции с базой данной. Как правило макросы записываются в автоматическом режиме, поэтому нет необходимости в знании языка Viual Basic. Макросы программируют рутинные операции при помощи легко создаваемммых кнопок. С помощью макросов удобно создавать главное меню прикладной системы и подчиненные меню. В Access 97 имеется 49 макрокоманд, которые можно включать в макросы.

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

Замечание. Первоначально задания приводятся с учетом Access 97, в дальнейшем планируется их адаптировать под более поздние версии.

Создание кнопок для запуска форм

Создадим форму “Панель с кнопками” для вызова некоторых форм нашей базы данных. Для этого выберем закладку Макрос на панели базы данных, нажмем кнопку Создать. На экране появится окноМакрос1: макрос. В нем имеется таблица с двумя полями. Первое из них предназначено для записи макроса, второе – для комментариев. Теперь сделаем доступными одновременно два окна, для этого выберем пункты меню Окно / Слева направо.

Нажмем на панели БД закладку Форма, выберем форму “Покупатель” и перетащим ее в первую строку таблицу определения макроса в столбец Макрокоманда. Там появится текст Открыть Формув нижней части окна – аргументы макрокоманды. Свернем окно базы данных, откроем побольше окно макросов. В строке Примечание запишем Ввод данных по покупателю. Закроем макрос, сохраним его с именем “Покупатель”.

Теперь создадим форму для размещения кнопок. Выберем закладку Форма в окне базы данных,создадим «пустую» форму, для чего нажмем кнопку Создать и выберем режим Конструктор. Затем снова перейдем к закладке Макросвозьмем созданный нами макрос “Покупатель” и отбуксируем его в форму. Там появится кнопка с надписью Покупатель. При просмотре списка можно обнаружить, что в свойстве Нажатие кнопки записано имя макроса «Покупатель».

Закроем форму и сохраним ее с именем “Панель кнопок”. Для проверки ее работы откроем форму и нажмем кнопку Покупатель. На экране появится созданная нами ранее форма “Покупатель”, с помощью которой можно просматривать и вводить данные по покупателям.

Задание

  1. Создать в форме “Панель кнопок” кнопки Товар и Заказ для форм “Товар” и “Заказ с полем со списком”.

  2. Добавить в форму “Панель кнопок” заголовок Основные формы ввода данных.

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

    Макросы. Автоматический запуск макроса при открытии БД

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

    Для этого выберем закладку Макроснажмем кнопку Создать, при этом появится пустое окно макроса в режиме конструктора. Нажмем на кнопку в столбце Макрокоманда, из списка выберем макрокоманду ОткрытьФорму. В окнеАргументы макрокоманды в качестве Имени формы выберем из списка, открываемого кнопкой, форму “Панель кнопок”. Закроем макрос и сохраним его с именем “AutoExec”.

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

    Теперь отменим автоматический запуск “Панели кнопок”. Для этого переименуем макрос “AutoExec” в “AutoExec1”, используя пункт меню управления БД Файл / Переименовать.

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

    Макросы. Ускорение поиска

    Создадим кнопку “Поиск фамилии” для быстрого поиска покупателя по фамилии в форме “Покупатель”. Рассмотрим первый способ – использование стандартных возможностей Access. Откроем форму “Покупатель” в режиме конструктора. На панели элементов нажмем пиктограмму Кнопка. Поместим кнопку в нижнюю часть формы. Будет вызван мастер Создание кнопки. Выберем режимы Категории: Переходы по записями, Действия: Поиск записи. Далее на кнопке разместим текст «Поиск фамилии», введя соответствующий текст в поле Текст. Далее в качестве названия кнопки введем ФИО. При работе с формой “Покупатель” при нажатии кнопки будет вызываться окно стандартного поиска в Access.

    Второй способ создания макроса рассмотрим на примере создания кнопки подобного поиска для формы “Товар”. Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля(оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск. В строке состояния (свойство Текст строки состояния) введем текст: Введите название товара или его первые буквы. Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

    Дальше создадим макрос “Поиск”. Он будет состоять из трех макрокоманд. Откроем закладку Макрос,нажмем кнопку Создать. С помощью команд верхнего меню Вид / Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонкеМакрокоманда с помощью кнопки выберем макрокоманду КЭлементуУправления (кнопка вызывается щелчком левой кнопки мыши по строке в указанном столбце). В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст [Наименование] (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокомандавыберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст =[Поиск] (т.е. будет разыскиваться в поле Наименованиетаблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поискзначением). В поле Совпадение выберем из списка элемент С начала поля. Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокомандуКэлементуУправления, в аргументах макрокоманды для Имени элемента введем [Поиск]. Квадратные скобки вводить обязательно!

    Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименованиетаблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

    Закроем макрос и сохраним его с именем “Поиск товара”. Теперь опять откроем форму товар и перетащим туда макрос “Поиск товара”. Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку “Поиск”, будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

    Но таким образом можно найти лишь первую запись на введенную букву. Нетрудно организовать еще одну кнопку “Поиск далее”. Для этого сделаем копию макроса “Поиск товара” через буфер обмена с помощью пунктов меню Правка / Копировать и Вставить и назовем его “Поиск далее”С помощью конструктора изменим в новом макросе в аргументе строки НайтиЗапись свойство Первое вхождение сДа на Нет, Область поиска – Вниз. Теперь перетащим новый макрос в режиме конструктора в форму “Товар”. Теперь будет идти поиск и последующих записей с тем же началом в поле Наименование.

    Задание

    1. Создать в форме “Покупатель” аналогичные кнопки для поиска покупателя по началу фамилии.

    2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.

      Макрос ускорения поиска записи

      Создадим кнопку “Поиск фамилии” для быстрого поиска покупателя в форме “Покупатель”. Рассмотрим первый способ – использование стандартных возможностей Access. Для этого откроем форму “Покупатель” в режиме конструктора. На панели элементов выберем пиктограмму Кнопка. Поместим кнопку в нижнюю часть формы. Будет вызван мастер Создание кнопки. Выберем режимы Категории: Переходы по записями, Действия: Поиск записи. Далее на кнопке разместим текст «Поиск фамилии», введя соответствующий текст в поле Текст. Далее в качестве названия кнопки введем ФИО. При работе с формой “Покупатель” при нажатии кнопки будет вызываться окно стандартного поиска в Access.

      Второй способ создания макроса рассмотрим на примере создания кнопки подобного поиска для формы “Товар”. Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля(оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск. В строке состояния (свойство Текст строки состояния) введем текст: Введите название товара или его первые буквы. Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

      Дальше создадим макрос “Поиск”. Он будет состоять из трех макрокоманд. Откроем закладку Макрос,нажмем кнопку Создать. С помощью команд верхнего меню Вид / Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонкеМакрокоманда с помощью кнопки выберем макрокоманду КЭлементуУправления (кнопка вызывается щелчком левой кнопки мыши по строке в указанном столбце). В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст [Наименование] (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокомандавыберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст =[Поиск] (т.е. будет разыскиваться в поле Наименованиетаблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поискзначением). В поле Совпадение выберем из списка элемент С начала поля. Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокомандуКэлементуУправления, в аргументах макрокоманды для Имени элемента введем [Поиск]. Квадратные скобки нужно везде, где указано, вводить обязательно!

      Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименованиетаблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

      Закроем макрос и сохраним его с именем “Поиск товара”. Теперь опять откроем форму товар и перетащим туда макрос “Поиск товара”. Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку “Поиск”, будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

      Но таким образом можно найти лишь первую запись на введенную букву. Нетрудно организовать еще одну кнопку “Поиск далее”. Для этого сделаем копию макроса “Поиск товара” через буфер обмена с помощью пунктов меню Правка / Копировать и Вставить и назовем его “Поиск далее”С помощью конструктора изменим в новом макросе в аргументе строки НайтиЗапись свойство Первое вхождение сДа на Нет, Область поиска – Вниз. Теперь перетащим новый макрос в режиме конструктора в форму “Товар”. Теперь будет идти поиск и последующих записей с тем же началом в поле Наименование.

      Задание 2

      1. Создать в форме “Покупатель” аналогичные кнопки для поиска покупателя по началу фамилии.

      2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.

Календарь
«  Май 2023  »
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Статистика

Онлайн всего: 1

Гостей: 1

Пользователей: 0

helenakosinova@ya.ru © 2023

Добавить комментарий