Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ACCESS_L7.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
63 Кб
Скачать
☆

Макросы для отчетов

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

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

Вызов макросов с помощью комбинации клавиш

Можете также связать макросы с отдельными клавишами или их комбинациями. В результате макрос будет выполняться при нажатии пользователем данной клавиши или комбинации клавиш. Например, для комбинации клавиш “Ctrl+P” можно назначить макрокоманду вывода на печать записей, отображенных на экране, или с помощью комбинат <Ctrl+N> перейти к следующей записи базы данных. Использование связанных с комбинациями клавиш макросов дает дополнительные преимущества при работе с формами и отчетами и освобождает от разработки сложных программ

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

Макросы, связанные с событиями формы

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

Использование макросов в формах

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

Открытие формы с помощью макроса

Иногда необходимо открыть форму с помощью макроса. Например, при каждом открытии формы Pets Display нужно открыть форму Customer, чтобы посредством щелчка кнопкой мыши перейти от формы к форме и одновременно просмотреть информацию на двух формах сразу.

Для этого требуется создать макрос, например, OpenCust и указать его для свойства Открытие формы Pets Display

Для этого выполните перечисленные ниже действия

1. Выберите вкладку Макросы в окне базы данных

2. Щелкните на кнопке Создать для открытия окна макросов

3. Щелкните в пустой ячейке столбца Макрокоманда

4. Выберите макрокоманду Открытьформу из раскрывающегося списка в столбце Макрокоманда

5. Щелкните в поле Имя формы в области окна Аргументы макрокоманды (нижняя часть окна)

6. Выберите или введите Customer

7. Сохраните этот макрос, щелкнув на кнопке Сохранить панели инструментов и присвоив ему имя OpenCust

Обратите внимание, макрос (OpenCust), показанный на рис 3, содержит только одну макрокоманду Открыть-Форму с одним аргументом Имя формы — Customer.

Рис 3 Макрос открытия формы

Макрос, показанный на рис 3, выполняет только одну макрокоманду Открытьформу. Эта макрокоманда имеет шесть возможных аргументов, но в данном примере установлено только имя формы Customer. Для других аргументов были принягы установки, заданные по умолчанию. При выполнении этого макроса будет автоматически открываться форма Customer.

Теперь, после создания макроса OpenCust нужно в режиме конструктора внести изменения в макет формы а именно указать макрос OpenCust для свойства Открытие этой формы

Назначение макроса для формы

После того как новый макрос открытия формы сохранен, укажите его для свойства Открытие формы. Для этого выполните следующее.

1. Выберите вкладку Формы в окне базы данных.

2. Выберите форму Pets Display и щелкните на кнопке kohct-руктор.

3. Откройте окно свойств, щелкнув на кнопке Свойства панели инструментов. При этом в строке заголовка окна свойств должна появиться надпись Форма.

4. Выберите вкладку События.

5. В поле свойства Открытие введите или выберите из раскры­вающегося списка имя макроса OpenCllSt. Таблица свойств бу­дет выглядеть так, как показано на рис. 31.4. Обратите внима­ние, имя макроса OpenCust размещено в текстовом поле свой­ства Открытие.

6. Сохраните форму и вернитесь в окно базы данных.

Теперь при открытии формы Pets Display Access автоматически открывает форму Customer и размещает ее за формой Pets Display. Теперь вы можете работать и просматривать записи сразу в двух фор­мах, переходя от формы к форме с помощью мыши. Обе эти формы по­казаны на рис. 31.5.

Рис 314 Ввод названия макроса в поле свойства Открытие

Рис. 5. Пример двух открытых форм. одна из которых открывается автоматически с помощью мак­роса, указанного для свойства Открытие в другой форме

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

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

Синхронизация двух форм с помощью свойства текущей записи

Напомним, что формы, изображенные на рис 5, не связаны, т е при просмотре записей в форме Pets Display информация в форме Customer автоматически не обновляется. Однако отображение данных на двух формах можно синхронизировать, если указать взаимосвязь между формами с помощью свойства Текущая запись.

Для этого можно использовать макрос, который вы создали ранее (OpenCust), только в данном случае для макроко­манды Открытьформу необходимо дополнительно установить аргумент Условие отбора Условием синхронизации является общий номер клиента на обеих формах Для того чтобы установить условие синхронизации двух форм, выпол­ните перечисленные ниже действия

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

2. Щелкните в поле Условие отбора в области окна Аргументы макрокоманды

3. Введите [Customer Number]=Forms![Pets Display Form]![Customer Number]

4. Сохраните макрос OpenCust

После создания макроса необходимо установить свойство Текущая запись для формы Pets Display В результате при открытии формы Pets Display автоматически отобразится и форма Customer, в которой содер­жатся данные, соответствующие данным формы Pets Display

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]