|
|
|
| Здравствуйте!
У меня такая ситуация.
Делаю запрос в Access
Есть два поля: в одном Конечная Дата (например 21.05.2009), в другом Количество месяцев просрочки (например 9), в новом поле должна быть дата, которая получается путем вычитания из Конечная дата месяцев просрочки (т.е. 01.05.2009 - 9 месяцев просрочки = 01.08.2008) причем дни будут всегда 01 (первое число каждого месяца)
Скажите пожалуйста как это сделать, какой формулой/функцией воспользоваться, а то все встало на этом, очень надо...
Заранее благодарен! | |
|
| |
|
|
|
| Воспользуйтесь функцией DateAdd().
Например так:
DateAdd("m";-[Таблица]![Количество месяцев просрочки];[Таблица]![Конечная Дата])
|
| |
|
| |
|
|
|
| либо вот на скорую руку вроде работает
Public Function date_itog(date_nach As Date, mes As Integer) As Date
Dim x, y, z As Integer
Dim mes1 As Integer
Dim yaer1 As Integer
Dim day1 As String
mes1 = Month(date_nach)
yaer1 = Year(date_nach)
day1 = "01"
If mes1 < mes Then
x = mes1 - mes
mes1 = 12 + x
yaer1 = yaer1 - 1
x = day1 & "/" & Str(mes1) & "/" & Str(yaer1)
ElseIf mes1 = mes Then
yaer1 = yaer1 - 1
mes1 = 12
x = day1 & "/" & Str(mes1) & "/" & Str(yaer1)
ElseIf mes1 > mes Then
mes1 = mes1 - mes
x = day1 & "/" & Str(mes1) & "/" & Str(yaer1)
End If
date_itog = CDate(x)
End Function
пример запуска:
итоговоеполе=date_itog(поледата,поле количество просроченных месяцев) | |
|
| |