|
|
|
| Очень нужна помощь! В базе данных по патентам есть дата подачи заявки. Вокруг нее все и крутится. По каждому патенту проводятся выплаты каждый год. Есть таблица с этими данными. Главные вопрос в том, как это реализовать.
1. Получается мне необходимо выполнять расчет с полями, тип которых "дата" и мне нужно, чтобы разница была целым числом (1, 2 и т.д.). Т.е. грубо говоря в форме необходимо вычисляемое поле, где текущая дата - дата подачи заявки = 1 (2, 3, 4 и т.д.). В зависимости от этой разницы платится разная пошлина.
2. Также необходимо поле, которое будет считать общую сумму выплат. Т.е. если разница = 5, то поле должно показывать сумма пошлин за 1, 2, 3, 4 и 5 года.
3. Необходимо указывать срок очередной выплаты (это дата полачи заявки только на текущий год) и соответственно критическая дата или нет (критическая - 3 месяца до окончания года действия оплаты пошглины). Вроде все объяснила. Если надо могу выслать базу. | |
|
| |
|
|
|
| это схоже с задачей вычисления возраста - есть много примеров в и-нете
а тут даже еще и попроще
используйте функцию DateDiff - она покажет разницу между двумя датами (например датой "подачи заявки" и "текущей датой") как раз целыми числами - например количество месяцев
запрос 1 вида
SELECT DateDiff("m","26/7/1967",Date()) AS howmanymonths FROM MSysObjects;
вернет целое количество месяцев прошедших со дня моего рождения
запрос 2 вида
SELECT DateDiff("m","26/7/1967",Date())\12 AS howmanyyears FROM MSysObjects;
вернет количество полных лет прошедших с тех пор
запрос 3 вида
SELECT DateDiff("m","26/7/1967",Date())\12*12 AS monthsbyyears FROM MSysObjects;
вернет количество целых месяцев в количестве прошедших целых лет
если из результата запроса 1 вычесть результат запроса 3 получится ответ
сколько целых месяцев осталось до моего очередного дня рождения
как-то так, в общем - ничего сложного... просто вместо моего дня рождения подставьте дату подачи патентной заявки | |
|
| |