Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД ACCESS 2000.doc
Скачиваний:
36
Добавлен:
15.05.2015
Размер:
1.83 Mб
Скачать

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

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

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

  • Откройте форму Заказ в режиме Конструктора

  • Перейдите на вкладку Макросы и создайте макрос Склад , позволяющий при вводе данных о количестве заказанных компьютеров в поле колК формы Заказ изменять количество компьютеров на складе (НаскладеК)в форме (таблице) Компьютеры.

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

Аргументы

Примечание

Открыть форму

Имя формы:Компьютеры

Условие отбора:

[Код]=[Forms]![Заказы]![Код]

Открывает форму так, чтобы была видна только запись выбранной модели

Задать значение

Элемент: [На складеК]

Выражение: Forms]![Заказы]![На складеК] -Forms]![Заказы]![колК]

Изменяет количество компьютеров на складе

Обновление

Закрыть

Тип объекта: Форма

Имя объекта: Компьютеры

Сохранение: Да

Закрыть форму Компьютеры с сохранением изменений

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

  • Откройте форму ЗАКАЗ в режиме конструктора

  • Измените свойства поля КолК (количество заказываемых компьютеров)

  • Команда СВОЙСТВА)

  • Вкладка Данные

Значение по умолчанию

0

Условие на значение

< НаскладеК

Сообщение об ошибке

На складе нет требуемого количества

  • Вкладка События

  • В строке После Обновления подключите макрос СКЛАД

  • Перейдите в режим формы и проверьте правильность работы макроса

  • Попробуйте заказать больше компьютеров, чем есть на складе

  • Перейдите в режим Конструктора формы и отключите макрос СКЛАД

Групповые макросы

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

Каждому групповому макросу при его сохранении дается имя. Каждому простому макросу, входящему в состав группового также дается имя. Ссылка на простой макрос внутри группового дается в виде:

<имя группового макроса>.<имя простого макроса>

Создание группового макроса , позволяющего изменять количество товара на складе при заполнении формы и изменять свойство видимости кнопок (visible)

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

  • Измените свойство Имя (но не Подпись) кнопки Прием Заказа на Прием, а кнопки Отмена Заказа на Отмена, кнопки создания новой записи -- Добавить

  • Откройте макрос Склад в режиме Конструктора

  • Выведите столбец Имя Макроса (меню Вид)

  • Для созданного ранее макроса введите имя Прием Товара

  • Самостоятельно добавьте макрокоманды , позволяющие изменять количество принтеров и мониторов на складе при выполнении заказа . Эти операции будут выполняться при нажатии кнопки Прием

  • После нажатия кнопки Прием изменяется количество товаров на складе и кнопка Прием прячется, а кнопка Отмена выводится на экран

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

Аргументы

Примечание

Задать значение

Элемент: [Отмена].[Visible]

Выражение Истина

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

К элементу управления

Имя элемента: [Отмена]

Переместить фокус на кнопку Отмены

Задать значение

Элемент: [Прием].[Visible]

Выражение Ложь

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

  • Создайте макросы Открытие (выполняется при открытии формы) и Добавить (выполняется при нажатии кнопки создания новой записи)

    Имя

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

    Аргумент

    Значение

    Примечание

    Открытие

    Задать значение

    Элемент

    Выражение

    [Прием].[Visible]

    Ложь

    Действует при открытии формы

    Задать значение

    Элемент

    Выражение

    [Отмена].[Visible]

    Истина

    Добавить

    Задать значение

    Элемент

    Выражение

    [Прием].[Visible]

    Истина

    Действует при нажатии кнопки Добавить

    Задать значение

    Элемент

    Выражение

    [Отмена].[Visible]

    Ложь

  • Самостоятельно создайте макрос Отмена Заказа, который будет выполняться при нажатии на кнопку Отмена. Количество тавара на складе будет увеличиваться , кнопка Отмена прятаться, кнопка Прием выводиться

  • Свяжите макросы с соответствующими событиями формы и элементов формы ЗАКАЗ