Green-sell.info

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

Запуск макроса при открытии формы access

Запуск макроса при открытии формы access

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

Варианты непосредственного запуска макроса:

  • Запуск из окна базы данных. Перейдите на вкладку Макрос (Macros) и дважды щелкните левой клавишей мыши на выбранном объекте. К тому же результату приводит нажатие клавиши Enter или кнопки Запуск (Run) панели инструментов окна базы данных. Этот способ работает только для одиночных макросов, для групп макросов он не годится.
  • Запуск из окна конструктора макросов. Макрос можно запустить из окна конструктора. Это бывает нужно для отладки создаваемого макроса. Для запуска макроса из режима конструктора можно нажать кнопку Запуск (Run) панели инструментов Microsoft Access или выбрать пункт Запуск (Run) меню Запуск (Run). Если макрос является группой макросов, то выполнится только первый из них.
  • Универсальный способ запуска макросов. Этот способ годится для запуска как одиночных, так и групп макросов. Им можно воспользоваться в любой ситуации, находясь на любой вкладке окна базы данных, независимо от состава и количества открытых в данный момент объектов. При выборе из меню Сервис|Макрос (Tools|Macro) пункта Выполнить макрос (Run Macro) на экране появится диалоговое окно Запуск макроса (Run Macro). В этом окне расположено поле со списком, которое содержит перечень всех имеющихся в базе данных макросов. Группы макросов представлены именами группы, а также именами макросов, входящих в нее (в формате имя_группы.имя_макроса). Выберите нужный вам макрос и нажмите кнопку ОК.

Варианты косвенного запуска макросов:

  • Указание макроса в качестве действия пункта меню или кнопки панели инструментов. При создании или редактировании пользовательских панелей инструментов, строк меню или контекстных меню в качестве действия (реакции на нажатие кнопки или выбор пункта меню) можно указать макрос — одиночный или входящий в группу. Имя макроса выбирается из выпадающего списка.
  • Указание макроса в качестве обработчика события. При наступлении какого-либо события формы, отчета или элемента управления запускается на выполнение ассоциированный с этим событием обработчик. В качестве этого обработчика можно указать макрос, выполняющий нужные вам действия. Имя макроса в качестве обработчика события также выбирается из выпадающего списка.
  • Запуск макроса из другого макроса. Макрос можно запускать из другого макроса. Для этого существует макрокоманда ЗапускМакроса (RunMacro), которая имеет три аргумента. Значением аргумента Имя макроса (Macro Name) служит имя запускаемого макроса (в случае группы макросов — в формате имя_группы.имя_макроса). Аргумент Число повторов (Repeat Count) содержит максимальное число повторов запуска, а аргумент Условие повтора (Repeat Expression) задает условие, останавливающее выполнение макрокоманды. При помощи двух последних аргументов можно организовать довольно примитивные циклы. Указанный в качестве первого аргумента макрос будет запускаться до тех пор, пока количество запусков не достигнет значения, указанного в аргументе Число повторов (Repeat Count), либо пока условие, указанное в аргументе Условие повтора (Repeat Expression), не примет значение Ложь (False).
  • Предопределенный макрос AutoExec. При открытии базы данных Microsoft Access ищет в ней макрос AutoExec и, если он есть, — запускает его на выполнение. Этот макрос в Microsoft Access до версии 97 года был единственным способом задать начальные действия и настройки при открытии базы данных. Начиная с версии 97 года, для базы данных можно задавать параметры запуска. Соответствующее диалоговое окно доступно через пункт Параметры запуска (Startup. ) меню Сервис (Tools). Тем не менее, сохранилась поддержка и макроса AutoExec. Следует заметить, что при открытии базы данных сначала выполняются действия, заданные в окне Параметры запуска (Startup. ), а потом происходит запуск макроса AutoExec (конечно, если он есть). Этим можно воспользоваться. Например, в уже готовую базу данных можно программно экспортировать свой собственный макрос AutoExec, чтобы попытаться переопределить заданные для базы начальные настройки. Пожалуй, это единственный, причем достаточно экзотический способ применения этого макроса. Практически теперь в его применении нет никакого смысла.
  • Предопределенный макрос AutoKeys. Макрос можно запустить на выполнение при помощи нажатия клавиатурной комбинации. Для осуществления такой возможности создается специальный макрос (точнее, группа макросов), называемая AutoKeys. Каждый макрос состоит из одной команды — ЗапускМакроса (RunMacro). В качестве имени макроса указывается специальное обозначение клавиатурной комбинации. Возможные варианты клавиатурных комбинаций и их обозначения приведены в таблице 8.1.
  • Запуск макроса из процедуры на языке Visual Basic. Макросы можно запускать и из процедуры Visual Basic. Для этого служит специальный объект DoCmd. Этот объект имеет методы, соответствующие почти всем доступным в системе макрокомандам (в том числе и ЗапускМакроса (RunMacro)). Объект DoCmd имеет следующий синтаксис:

DoCmd.имя_макрокоманды [Список аргументов].

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

DoCmd.OpenForm «Отчеты о продажах», Form, , , , Normal.

Есть несколько макрокоманд, для которых у объекта DoCmd нет соответствующих методов. Однако для них существуют другие эквиваленты в языке Visual Basic. Эти макрокоманды, а также эквиваленты для них, приведены в таблице 8.2.

MS Access. Макросы

Назначение макросов

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

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

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

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

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

Для создания макроса следует активизировать кнопку Макросы на панели Объекты окна базы данных и щелкнуть по кнопке Создать панели инструментов окна базы данных.

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

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

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

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

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

В тех случаях, когда нужно отслеживать ошибки в работе приложения, производить обработку событий с передачей или получением параметров, создавать новые объекты, взаимодействовать с другими приложениями Microsoft Windows, для решения подобных задач предпочтительнее использовать модули, то есть программы, написанные на языке Visual Basic for Application.

Макросы и главная кнопочная форма

Лабораторная работа

Макрос ы и главная кнопочная форма

Лабораторная работа выполняется согласно выбранной теме курсовой работы. .

1. Создание макроса. Можно создать на основе примера (см. краткую теорию) или придумать свой.

2. Создание «Главной кнопочной формы». Форма должна содержать заголовок, фоновый рисунок, список кнопок с подписями:

· Ввод и редактирование данных.

· Работа с запросами.

Краткая теория

Наряду с формами, запросами, отчетами для реализации практических задач пользователя применяются средства программирования — язык макросов и язык Visual Basic for Applications (VBA).

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

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

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

Например, необходимо создать макрос, который:

1. Сворачивает текущее окно.

2. Открывает таблицу «Предприятия».

3. Изменяет размеры этой таблицы.

4. Выполняет заранее созданный запрос «Запрос1».

5. Закрывает таблицу «Предприятия».

6. Закрывает запрос «Запрос1».

Все действия предваряются комментариями в виде сообщений.

Чтобы начать создание макроса в окне базы данных, выберите вкладку Макросы и нажмите кнопку «Создать». Откроется окно макроса (рис.1).

Рис.1. Создание макроса

Макрокоманды, составляющие макрос, вводятся в столбец Макрокоманда. Для ввода макрокоманды нажимаем кнопку раскрытия списка макрокоманд в этом столбце и выбираем ОткрытьЗапрос, чтобы выполнить запрос. Имя запроса «Запрос1» выбираем из списка в разделе Аргументы макрокоманды в нижней части окна макроса (рис.2).

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

В столбец «Примечание» введем текст, описывающий результат выполнения макрокоманды. Для включения в макрос макрокоманды ОткрытьЗапрос можно воспользоваться перетаскиванием объектов с помощью мыши, тогда в аргументах автоматически появится имя открываемого запроса.

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

Рис.3. Формирование макроса из нескольких макрокоманд

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

Свернуть – позволяет свернуть окно, которое было активным в момент запуска макроса на выполнение.

ОткрытьТаблицу – открывает таблицу. Имя таблицы и режим ее открытия указываются аргументами макрокоманды. Открытая таблица будет отображаться на экране до выполнения макрокоманды Закрыть.

СдвигРазмер – позволяет задать размер и местоположение окна активного объекта. В результате выполнения макрокоманды после открытия таблицы изменяются параметры окна таблицы.

Сообщение – выдает сообщение, указанное в аргументах макрокоманды.

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

1. Откройте базу данных.

2. В меню Сервис выберите команду Служебные программы, а затем Диспетчер кнопочных форм.

3. Если выводится запрос на подтверждение создания кнопочной формы, нажмите кнопку Да.

4. Нажмите кнопку Создать.

5. Введите имя новой кнопочной формы и нажмите кнопку OK. Имя новой кнопочной формы добавляется в поле Страницы кнопочной формы.

6. Выберите имя новой кнопочной формы и нажмите кнопку Изменить.

7. Нажмите кнопку Создать.

8. В поле Текст введите текст для первой кнопки кнопочной формы, а затем выберите для нее команду в поле Команда. Например, введите текст Просмотр заказов, а затем выберите в поле Команда команду Открыть форму для изменения. Для создания кнопочной формы, которая открывает другие кнопочные формы, выберите в поле Команда команду Перейти к кнопочной форме, а затем укажите кнопочную форму, к которой надо перейти.

9. Для большинства выбранных команд под полем Команда открывается новое поле со списком. При необходимости, выберите нужный элемент в этом поле. Например, если на шаге 8 была выбрана команда Открыть форму для изменения, выберите в поле Форма имя нужной формы, например Заказы, и нажмите кнопку OK.

10. Повторите шаги с 7 по 9 для создания остальных кнопок кнопочной формы.

Чтобы изменить или удалить какую-либо из созданных кнопок, выберите ее имя в списке Элементы данной кнопочной формы и нажмите кнопку Изменить или Удалить. Если требуется изменить порядок элементов кнопочной формы, выберите элемент в списке и воспользуйтесь кнопками Вверх или Вниз.

11. Закончив создание кнопочной формы, нажмите кнопку Закрыть.

12.5 Работа с формами Access из VBA (объект Form )

Объект Access.Form, работа с формами Access средствами VBA, открытие формы Access, работа с элементами управления на форме Access

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

Формы Access используются:

  • Для редактирования записей в таблицах базы данных Access и внешних источников данных. Для того, чтобы создать такие формы, вообще не нужно никакого программирования — достаточно создать форму в режиме конструктора или воспользоваться мастером создания форм. Подключиться к внешнему источнику данных (например, базе данных SQL Server или Oracle) можно, воспользовавшись в Access меню Файл ->Внешние данные ->Связь с таблицами.
  • Как панели управления вашего приложения. Очень часто в приложении на основе Access создается начальная форма, которая открывается при запуске этого приложения. На этой формы предусмотрены кнопки и другие элементы управления для вызова других форм, отчетов, макросов, выхода из приложения и выполнения прочих операций. После закрытия других форм управления опять передается начальной форме.
  • Просто для предоставления пользователю возможности выполнения любых действий. Например, форму можно использовать для выбора пользователем параметров отчета, выгрузки данных во внешнее приложение (например, Excel) и т.п.

Как работать с формами Access из VBA?

Первое, что необходимо сказать — для работы с формами во многих ситуациях нам придется использовать общий объект AccessObject, который представляет в Access не только формы, но и таблицы, макросы, модули, отчеты и множество других элементов. Поскольку этот объект — универсальный, то, конечно, большой помощи от Intellisense — подсказки в редакторе VBA у нас не будет. Обратиться к объекту формы можно через коллекцию AllForms, которая доступна через объекты CodeProject и CurrentProject. Например, получить информацию о всех формах в базе данных Access можно так:

Dim oA As AccessObject

For Each oA In CurrentProject.AllForms

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

Специальное свойство IsLoaded определяет, открыта ли эта форма (то есть загружена ли она в оперативную память).

Программным образом формы можно найти и другим способом. Все открытые формы Access автоматически помещаются в коллекцию Application.Forms и представляются в виде объекта Form. Это — уже нормальный объект, свойства которого соответствуют свойствам формы, доступным через графический интерфейс. Например, если форма Форма1 открыта, получить информацию о ее ширине можно так:

Debug.Print Application.Forms(«Форма 1»).Width

Это свойство можно использовать и для изменения ширины формы, но для этой цели рекомендуется использовать метод DoCmd.MoveSize(), который изменяет размеры активного объекта (например, нашей формы, если она активна):

DoCmd.MoveSize Width :=10000

Еще одна возможность: если вы работаете с кодом самой формы или ее элементов управления (например, события Click кнопки, которая расположена на форме), то обратиться к объекту самой этой формы можно совсем просто. Для этого используется ключевое слово Form.

Как можно открыть форму?

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

Рис. 12.1 Окно для работы с формами в Access

Еще один часто используемый способ — просто запускать форму при открытии базы данных Access. Для этого в меню Сервис нужно выбрать Параметры запуска и выбрать нужную форму в списке Вывод формы/страницы. Если при этом вы уберете все остальные флажки, то приложение при открытии приложение может выглядеть так, как показано на рис. 12.2:

Рис. 12.2 Все лишние возможности Access спрятаны от пользователя

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

Если все-таки нужно открыть форму программным способом (например, из другой формы), то для этой цели можно использовать метод DoCmd.OpenForm(). В самом простом варианте этот метод просто принимает параметр с именем формы:

Если же форма уже открыта, то этот метод, конечно, не открывает форму заново, а просто активизирует ее. Метод DoCmd.OpenForm() принимает также несколько необязательных параметров, при помощи которых вы можете настроить фильтр на отображение записей в форме, режим открытия формы (например, модальность) и т.п. Закрытие формы производится при помощи метода DoCmd.Close(). Если же вам нужно просто спрятать форму, чтобы сохранить введенные на ней пользователем значения и отобразить их при следующем показе, можно просто сделать форму невидимой, назначив ее свойству Visible значение False.

Форма нам обычно нужна не сама по себе, а как контейнер для расположенных на ней элементов управления. Обычно элементы управления программным способом создавать не требуется — намного проще и удобнее поместить их на форму в режиме конструктора для формы. В наборе элементов управления для формы предусмотрены как знакомые нам элементы управления — текстовые поля, надписи, кнопки, флажки и переключатели, так и новые элементы — свободная и присоединенная рамки объектов, разрывы страниц, подчиненные формы/отчеты и т.п. В верхнем правом углу Toolbox в конструкторе формы Microsoft Access находится специальная кнопка Мастера. Если она нажата, то добавление на форму привычных элементов управления (например, кнопки) приведет к появлению окна мастера, который попытается помочь вам автоматически сгенерировать нужный код VBA для этого элемента управления (см. рис. 12.3)

Рис. 12.3 Мастер создания кнопок

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

Для чего используются нестандартные (по отношению к обычным формам VBA) элементы управления:

  • Свободная рамка объекта — возможность разместить на форме OLE-объект (например, документ Word, лист Excel, презентация PowerPoint, рисунок, звукозапись или видеоклип), который может быть встроен в базу данных Access (но не помещен в таблицу!) или находиться во внешнем по отношению к базе данных Access файлу.
  • Присоединенная рамка объекта — то же самое, за исключением того, что он применяется для работы с объектами OLE, которые хранятся в таблицах внутри баз данных Access или внешнего источника данных. Это — самый удобный способ генерации отчетов в Word.

Например, предположим, что в нашей базе данных Access находится таблица с тремя столбцами, как показано на рис. 12.4.

Рис. 12.4 Таблица для хранения шаблонов Word

В столбце File у нас хранятся шаблоны Word, которые используются для генерации отчетов. Мы помещаем на форму элемент управления Присоединенная рамка объекта с именем WordTemplate. После этого все, что нужно для создания файла Word на основе шаблона из базы данных, у нас уже есть. Для кнопки, по нажатию на которой будет формироваться отчет, можно использовать следующий код:

‘Получаем ссылку oFrame на объект присоединенной рамки на форме

Dim oFrame As BoundObjectFrame

Set oFrame = oForm.Controls(«WordTemplate»)

‘При помощи метода DLookup () скачиваем в него значение столбца File из таблицы

‘Templates, где номер строки (значение столбца Num ) равно 1

oFrame = Application.DLookup(«[File]», «Templates», «[Num] = 1»)

‘Открываем объект в отдельном окне приложения — то есть создаем

‘документ Word на основе шаблон, загруженного в рамку объекта на форме

‘Активизируем объект приложения

‘Получаем ссылку на Word в переменную oWord

Dim oWord As Word.Application

Set oWord = GetObject(, «Word.Application»)

‘Получаем ссылку на созданный нами документ

Dim oDoc As Word.Document

Set oDoc = oWord.ActiveDocument

‘Дальше работаем средствами Word, например, вставляем нужный текст

‘в места, отмеченные закладками

Конечно же, правильнее будет при этом сделать эту присоединенную рамку объекта на форме изначально невидимой — чтобы пользователь не мог этот объект активизировать по собственной инициативе.

  • Элемент управления Разрыв страницы — определяет начало нового экрана формы.
  • Подчиненная форма/отчет — используется для размещения на форме подчиненных форм, таблиц или отчетов.

Как уже говорилось, программным способом элементы управления в форме Access приходится создавать редко. Если на форме вам нужен переменный набор элементов управления, то правильнее будет с самого начала создать все нужные элементы управления и по необходимости делать их то видимыми, то невидимыми. Тем не менее создать программным способом элементы управления на форме тоже можно. Эта операция выполняется при помощи метода Application.CreateControl(), который принимает множество параметров — имя формы, на которой создается элемент управления, тип элемента управления, его месторасположение на форме и т.п.

Обращение к значениям элементов управления на форме производится через коллекцию Controls, которая умеет работать с именами элементов управления:

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

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

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

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

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

3.Щелкните элемент управления или раздел, содержащий свойство события, в которое следует внедрить макрос.

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

4.Откройте вкладку Событие на странице свойств.

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

6.В диалоговом окне Построитель выделите пункт Макросы и затем нажмите кнопку ОК.

7.В построителе макросов щелкните первую строку в столбце Макрокоманда.

8.В раскрывающемся списке Макрокоманда выберите нужную макрокоманду.

9.Укажите в области Аргументы макрокоманды все требуемые аргументы и перейдите к следующей строке макрокоманды.

10.Повторяйте шаги 8 и 9, пока не завершите построение макроса.

11.Нажмите кнопку Сохранить, затем нажмите кнопку Закрыть.

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

Пример.

Внедрение макроса в событие отчета «Отсутствие данных»

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

1.Откройте отчет в режиме конструктора или макета и отобразите страницу свойств.

2.Откройте вкладку Событие на странице свойств и выберите Отсутствие данных.

3.Нажмите кнопку Построитель и выберите пункт Макросы.

4.Введите макрокоманды и аргументы:

Окно сообщения Записи не обнаружены.

Сигнал Да

Тип Сведения

Заголовок Нет данных

ОтменитьСобытие [аргументы отсутствуют]

9.Нажмите кнопку Закрыть.

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

10.Сохраните и закройте отчет.

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

Управляющие формы

Управляющие формы – это формы с кнопками или ссылками, позволяющими перемещаться по базе данных. Часто такие формы называют кнопочными формами.

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

В Office Access 2010 реализована новая функция «Область переходов». Область переходов заменяет окно базы данных и ее можно использовать вместо кнопочных форм для вызова объектов базы данных. Все открытые объекты: формы, отчеты и т.д. размещаются в одном окне, для каждого объекта добавляется своя вкладка. Вкладки позволяют переключаться между объектами.

6.1. Варианты использования кнопочных форм

В Office Access 2010 с кнопочными формами можно выполнить следующие действия:

Ø Создание пользовательских категорий и групп объектов в области переходов

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

Ø Обычный запуск существующих кнопочных форм

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

Создание или изменение кнопочных форм
при помощи диспетчера кнопочных форм

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

Читать еще:  Функция iif access
Ссылка на основную публикацию
Adblock
detector