ü На основе запроса Заказ создайте автоформу в столбец Заказ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 Дополните макрос Скидка следующими макрокомандами
|
|
Имя макроса | Макрокоманда | Аргументы |
Количество | ЗапускМакроса | Имя макроса: РасчетСкидки |
Следующая | НаЗапись | Следующая |
ЗапускМакроса | Имя макроса: РасчетСкидки | |
Предыдущая | НаЗапись | Предыдущая |
ЗапускМакроса | Имя макроса: РасчетСкидки | |
Первая | НаЗапись | Первая |
ЗапускМакроса | Имя макроса: РасчетСкидки | |
Последняя | НаЗапись | Последняя |
ЗапускМакроса | Имя макроса: РасчетСкидки | |
Открытие | ЗапускМакроса | Имя макроса: РасчетСкидки |
Столбец Условие можно спрятать с вывода на экран