Рассмотрим следующую базу данных турбюро.
Необходимо создать форму для ввода информации о путевках и увеличивать стоимость путевки на 20%, если признак оплаты - безналичный.
Форма "Маршруты" может быть произвольной, форма "Путевки" должна выглядеть именно так, как показано на рис. ниже, иначе обновление будет происходить не по одной записи, а по всем сразу.
Необходимо создать форму для ввода информации о путевках и увеличивать стоимость путевки на 20%, если признак оплаты - безналичный.
Форма "Маршруты" может быть произвольной, форма "Путевки" должна выглядеть именно так, как показано на рис. ниже, иначе обновление будет происходить не по одной записи, а по всем сразу.
Итак, нам необходим автоматический пересчет стоимости в зависимости от выбранного признака оплаты. Если признак оплаты "Наличный" - не делаем ничего, если "Безналичный" - число в поле Стоимость увеличиваем на 20%.
Реализуем сие.
Открываем форму "Путевки" в режиме конструктора.
Выбираем в окне свойств Форма, Текущая запись и Программа.
Нам необходимо написать такой
скрипт, который бы пересчитывал Стоимость в зависимости от формы оплаты. У меня
еще + подсвечивается разными цветами для проверки, что условие проверяется.
Если Признак_оплаты
«Безналичный», устанавливаю цвет и пересчитываю поле Стоимость, иначе, просто
выкрашиваю в другой цвет.
Изменения вступают в силу, только после того, как
перейти на другую запись. Но их можно посмотреть, вернувшись на предыдущую.
Минус данной реализации в том, что пересчет происходит постоянно при переходе по
записям. В самой задаче на этот счет ничего сказано не было. Так что «Горшочек,
не вари!» - не поможет, пересчитывает всегда, когда есть «Безналичный».
Другой реализацией могло бы быть такое решение: добавлять дополнительный столбец и хранить в нем пересчитанные суммы. С практической точки зрения - это и есть тот самый верный результат, с ученической - сделали, как придумали =)




Комментариев нет:
Отправить комментарий