Автоматизация работы приложения с помощью макросов. Упрощение ввода с помощью копирования данных. Создание макроса

Страницы работы

Содержание работы

 

4.  АВТОМАТИЗАЦИЯ РАБОТЫ ПРИЛОЖЕНИЯ С ПОМОЩЬЮ МАКРОСОВ

Упрощение ввода с помощью копирования данных

Пример 4.1.В форме Ввод покупателей обеспечить автоматическое копирование индекса и города в качестве начала адреса, когда адрес еще пуст.

Создание макроса Адрес в группе макросов Ввод покупателей

1.  Откройте группу макросов Ввод покупателей в режиме конструктора.

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

3.  Введите имя макроса – Адрес

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

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

5.  Используя построитель в поле Если введите выражение

IsNull([Формы]![Ввод покупателей]![Адрес]) Or [Формы]![Ввод покупателей]![Адрес]=' '

6.  В поле Добавить новую макрокоманду выберите макрокоманду Задать значение.

7.  В качестве элемента макрокоманды введите

[Формы]![Ввод покупателей]![Адрес]

8.  В качестве выражения макрокоманды введите

[Формы]![Ввод покупателей]![Индекс] & ', ' & [Формы]![Ввод покупателей]![Город]

Привязка формы к макросу в группе макросов 

1.  Откройте форму Ввод покупателей в режиме конструктора. 

2.  Откройте окно свойств поля Адрес. Во вкладке События щелкните в строке Вход  выберите макрос с именем Ввод покупателей.Адрес.

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

Пример 4.2.В форме Заказы обеспечить возможность ввода нового товара.

В форме Заказы создадим командную кнопку, нажатие которой запускает макрос открытия формы Товары в режиме добавления.

Создание макроса НовыеТовары в группе макросов Товары

1.  Откройте группу макросов Товары в режиме конструктора.

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

3.  Введите имя макроса – НовыеТовары. 

4.  Выберите макрокоманду ОткрытьФорму.

5.  Для аргумента макрокоманды Имя формы выберите форму Товары.

6.  Для аргумента макрокоманды Режим данных выберите значение Добавление.

 

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

1.  Откройте форму Заказы в режиме конструктора. 

2.  Перетащите группу макросов Товары из области навигации в нужное место в форме Заказы - в форме образуется кнопка, связанная с группой макросов Товары.

 

3.  Откройте окно свойств образовавшейся кнопки. 

- во вкладке События щелкните в строке Нажатие кнопки и с помощью кнопки

- во вкладке Макет в строке Подпись введите НовыеТовары.

Пример 4.3.В форме Заказы обеспечить возможность ввода нового покупателя.


Использование событий мыши для связи форм

Пример 4.4.Обеспечить открытие формы Товары двойным щелчком по полю КодТовара в форме Заказы.

Привязка формы Заказы к макросу НовыеТовары в группе макросов Товары

1.  Откройте форму Заказы в режиме конструктора. 

2.  Откройте окно свойств поля КодТовара. Во вкладке События щелкните в строке

Двойное нажатие кнопки и с помощью кнопки  выберите макрос с именем Товары.НовыеТовары .

 

Пример 4.5.Обеспечить открытие формы Ввод покупателей двойным щелчком по полю КодПокуп в форме Заказы.

Синхронизация данных в двух открытых формах

Пример 4.6.Обеспечить обновление информации в форме Заказы, когда Access в нее возвращается из формы Товары после ввода нового товара.

Чтобы в форме Заказы поле КодТовара обновлялось сразу же после возвращения в нее из формы Товары, создадим макрос, запускаемый свойством Закрытие формы Товары

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

Создание модуля 

1.  Скопируйте в буфер исходный текст функции IsLoaded на языке Visual Basic.

Function IsLoaded(ByVal strFormName As String) As Boolean

Похожие материалы

Информация о работе