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

Работа с двумя формами показана на рис 6

Рис 31 6 Две синхронизированные формы

Как видно из рис 31 б, при работе с синхронизированными формами можно просматривать одновременно несколько запи­сей Форма Customer будет автоматически обновляться при переходе от одной к другой записи таблицы формы Pets Display Свойство Текущая запись будет запускать макрос OpenCust при каждом изменении текущей записи данных Если вам это понятно, вы поймете и принцип использования свойства Текущая запись В данном случае это свой­ство запускает макрос, который находит соответствующую запись в форме Customer При каждом изменении в форме текущей записи активизируется свойство Текущая запись

Выполнение макроса при закрытии формы

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

Для того чтобы задать автоматическое закрытие формы Customer при закрытии формы Pets Display, напишите но­вый макрос, а затем укажите его для свойства Закрытие формы Pets Display

На рис. 7 показан новый макрос Close Customer, который добавлен к макросу OpenCust До этого момента макрос OpenCust имел единственное назначение При добавлении еще одного макроса он преобразуется в группу из двух макросов. где первый макрос, который открывает форму, установлен по умолчанию, а второй — имеет имя Close Customer

Рис 7 Добавление в группу макросов макрокоманды Закрыть

Рис 8 Окно свойств с заданным свойством Закрытие

Обратите внимание, макрос Close Customer содержит только од­ну макрокоманду Закрыть Для данной макрокоманды определено два аргумента; оба должны быть установлены Первый аргумент — это Тип Объекта, где определяется тип объекта, который вы хотите закрыть Второй аргумент — это Имя объекта, в котором вы задаете имя объ­екта для закрытия (в данном случае это форма Customer)

После того как макрос Close Customer создан, присоедините его к форме Pets Display.

1. Выделите в окне базы данных форму Pets Display и щелкните на кнопке Конструктор

2. Откройте окно свойств для данной формы

3. В поле свойства Закрытие введите OpenCust Close Customer При этом макрос примет вид, показанный на рис 8

4. Сохраните форму с внесенными изменениями

^ди»»*"* Обратите внимание, при вводе имени макроса для свойства Закрытие, вначале вводится имя группы, затем

Ча заметку точка и лишь потом имя макроса

/

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

^ Макрос, заданный для свойства Закрытие, просто закроет форму Customer. Если пользователь случайно свинка закрыл форму Customer, а затем — форму Pets Display, Access не обнаружит в этом ошибки. Таким об-f-^ разом, задание свойства Закрытие не означает, что форма Customer может быть закрыта лишь при за­крытии формы Pets Display.

Макросы, связанные с событиями элементов управления

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

Указание макросов для элементов управления

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

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

Работа с макросами форм

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

• Подтверждение данных

• Установка значений

• Перемещение между формами и отчетами

• Фильтрация записей

• Поиск записей

• Распечатка записей

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

Установка значений

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

• Скрыть или показать элемент управления в зависимости от некоторого значения (свойство Вывод на экран)

• Отключить или защитить элемент управления в зависимости от определенного значения (свойства Доступ и Блокировка)

• Обновить данные в поле формы в зависимости от значения другого элемента управления

• Установить значение элемента управления в форме в зависимости от значения элемента управления другой формы

В макросах для установки значений используется макрокоманда ЗадатьЗначение, которая имеет два аргумента

Элемент Название элемента управления или свойства Выражение Выражение задающее значение элемента

Преобразование значения поля в верхний регистр

Если для ввода в поля используются либо строчные, либо прописные буквы, то вам может потребоваться преобраз вать какую-нибудь запись текстового поля в верхний регистр Для этого воспользуйтесь макросом с макрокомандой За-датьЗначение, которая автомагически выполнит преобразование текста В строке аргумента Элемент введите я\ч поля, которого вы хотите преобразовать в верхний регистр а в строке аргумента Выражение — функцию UCase() именем преобразуемого поля (рис 9)

Рис 319 Преооразовтие содержимого ПО-1Я в верхний регистр

После создания макроса поместите его имя в nole свойства После обновления окна свойств Теперь, если пользователь введет имя клиента строчными буквами Access автоматически запустит этот макрос и п-образует запись в верхний регистр сразу после того как пользователь завершит обновление поля

Присвоение значений новым записям

Обычно, при вводе новых записей в базу данных, некоторые поля удобнее заполнять автоматически, исходя из зн^ ний другой открытой формы Для этого можно использовать макрокоманду ЗадатьЗначение (рис 31 10)

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