ü На основе запроса Заказ создайте автоформу в столбец Заказ1

ü Откройте форму в режиме Конструктора
ü Добавьте без помощи мастера кнопки перехода по записям и кнопку добавления новой записи
ü Создайте два свободных поля Скидка (имя Cost1) и Общая Стоимость (имя Cost)
ü Упростим задачу. Скидка будет предоставляться только при покупке компьютеров, а принтеры в расчет приниматься не будут. При покупке менее 10 принтеров скидки нет, при покупке от 10 до 20 скидка 1%, при покупке более 20 скидка 2%
ü Перейдите на вкладку Макросы и создайте групповой макрос Скидка
ü.Подключите столбцы Имени макроса и Условия (меню Вид)
| Имя макроса | Условие | Макрокоманда | Аргументы |
| Количество | [КолК]<10 | ЗадатьЗначение | Элемент: [Cost1] Выражение: 0 |
| … | ЗадатьЗначени | Элемент: [Cost] Выражение: [Стоимость заказа] | |
| … | ОстановитьМакрос | ||
| [КолК] Between 10 And 20 | Сообщение | Вам предоставляется скидка 1% | |
| … | ЗадатьЗначени | Элемент: [Cost1] Выражение: [Стоимость заказа]*0,01 | |
| … | ЗадатьЗначени | Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] | |
| ОстановитьМакрос | |||
| [КолК] > 20 | Сообщение | Вам предоставляется скидка 2% | |
| … | ЗадатьЗначени | Элемент: [Cost1] Выражение: [Стоимость заказа]*0,02 | |
| … | ЗадатьЗначени | Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] | |
| ОстановитьМакрос |
7 Привяжите, созданный макрос Скидка.Количество к свойству После Обновления поля КолК
8 Создайте новую запись и поэкспериментируйте с количеством, заказанных компьютеров
Обратите внимание, что значения полей Скидка и Общая стоимость сбиваются при использовании кнопок перемещения по записям и при открытии формы. Следовательно к событиям соответствующих элементов необходимо привязать макросы очень похожие на только, что созданный макрос.
9 Для того, чтобы многократно не повторять одни и те же команды выделим их в отдельный макрос РасчетСкидки _
| Условие | Макрокоманда | Аргументы |
| [КолК]<10 | ЗадатьЗначение | Элемент: [Cost1] Выражение: 0 |
| … | ЗадатьЗначени | Элемент: [Cost] Выражение: [Стоимость заказа] |
| … | ОстановитьМакрос | |
| [КолК] Between 10 And 20 | Сообщение | Вам предоставляется скидка 1% |
| … | ЗадатьЗначени | Элемент: [Cost1] Выражение: [Стоимость заказа]*0,01 |
| … | ЗадатьЗначение | Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] |
| ОстановитьМакрос | ||
| [КолК] > 20 | Сообщение | Вам предоставляется скидка 2% |
| … | ЗадатьЗначени | Элемент: [Cost1] Выражение: [Стоимость заказа]*0,02 |
| … | ЗадатьЗначени | Элемент: [Cost] Выражение: [Стоимость заказа]-[Cost1] |
| ОстановитьМакрос |
10 Дополните макрос Скидка следующими макрокомандами
| Имя макроса | Макрокоманда | Аргументы |
| Количество | ЗапускМакроса | Имя макроса: РасчетСкидки |
| Следующая | НаЗапись | Следующая |
| ЗапускМакроса | Имя макроса: РасчетСкидки | |
| Предыдущая | НаЗапись | Предыдущая |
| ЗапускМакроса | Имя макроса: РасчетСкидки | |
| Первая | НаЗапись | Первая |
| ЗапускМакроса | Имя макроса: РасчетСкидки | |
| Последняя | НаЗапись | Последняя |
| ЗапускМакроса | Имя макроса: РасчетСкидки | |
| Открытие | ЗапускМакроса | Имя макроса: РасчетСкидки |
Столбец Условие можно спрятать с вывода на экран






