Условный макрос Скидка

ü На основе запроса Заказ создайте автоформу в столбец Заказ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 Дополните макрос Скидка следующими макрокомандами

Имя макроса Макрокоманда Аргументы
Количество ЗапускМакроса Имя макроса: РасчетСкидки
Следующая НаЗапись Следующая
  ЗапускМакроса Имя макроса: РасчетСкидки
Предыдущая НаЗапись Предыдущая
  ЗапускМакроса Имя макроса: РасчетСкидки
Первая НаЗапись Первая
  ЗапускМакроса Имя макроса: РасчетСкидки
Последняя НаЗапись Последняя
  ЗапускМакроса Имя макроса: РасчетСкидки
Открытие ЗапускМакроса Имя макроса: РасчетСкидки

Столбец Условие можно спрятать с вывода на экран


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: