Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / еще раз о Dateserial / 13 сообщений из 13, страница 1 из 1
21.08.2003, 11:56
    #32242939
danny_u2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
проблема в том,что я вычитая к примеру от 31.12.03 01.07.03, беру потом month от результата и получаю 7 месяцев. А мне то нужно получить 6!!
...
Рейтинг: 0 / 0
21.08.2003, 11:59
    #32242948
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
Хм...
А как ты вычетаешь, а потом что-то там получаешь читать между строк???
...
Рейтинг: 0 / 0
21.08.2003, 12:03
    #32242960
danny_u2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
берешь month(Dateserial(x,y))
...
Рейтинг: 0 / 0
21.08.2003, 12:06
    #32242975
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
Тогда не знаю :)
...
Рейтинг: 0 / 0
21.08.2003, 12:49
    #32243103
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
??
DateDiff("m",#07/01/2003#,#12/31/2003#)
...
Рейтинг: 0 / 0
21.08.2003, 12:50
    #32243107
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
2 4d_monster:
обрати внимание на результат
...
Рейтинг: 0 / 0
21.08.2003, 12:53
    #32243115
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
?(#12/31/03#-#07/01/03#)/30.5
6
...
Рейтинг: 0 / 0
21.08.2003, 13:02
    #32243147
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
Блин, на пальцах посчитал - правильно...
перечитал вопрос - взгрустнул
...
Рейтинг: 0 / 0
21.08.2003, 13:17
    #32243172
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
В свое время сталкивался с этой проблемой, решил ее написанием своей функции:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Public Function MonthDiff(DateBeg As Date, DateEnd As Date)
  Dim ret As Long
  Dim d1, d2 As Date
  
  If IsNull(DateBeg) Or IsNull(DateEnd) Then
    MonthDiff = Null
    Exit Function
  End If
  
  If DateBeg < DateEnd Then
    d1 = DateBeg
    d2 = DateEnd
  Else
    d1 = DateEnd
    d2 = DateBeg
  End If
  
  ret = (Year(d2) - Year(d1)) *  12  + (Month(d2) - Month(d1))
  If ret <>  0  And Day(d2) < Day(d1) Then ret = ret -  1 
        
  If d1 = DateBeg Then MonthDiff = ret Else MonthDiff = -ret
End Function
...
Рейтинг: 0 / 0
21.08.2003, 13:30
    #32243197
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
datediff считает переходы
от одного месяца к другому
(а также годы по тому же
принципу считает)
эту особенность надо знать!
...
Рейтинг: 0 / 0
21.08.2003, 13:31
    #32243198
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
2 ALL

Чего-то я туплю
Объясните в чем проблема?

Ведь 31-12-2003 во всех ваших расчетах не включается
(т.к. 31.12.2003 00:00:00)
Всегда когда нужно посчитать период в месяцах (годах и т.п.)
нужно ведь учитывать последний день (и включить его)

Т.е.
?datediff("m",#07/01/03#,#12/31/03#+1)
...
Рейтинг: 0 / 0
21.08.2003, 13:35
    #32243211
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
2incold
Скорее, в том, что
MsgBox DateDiff("m", #1/31/2003#, #2/1/2003#)
и
MsgBox DateDiff("m", "31.01.2003", "01.02.2003")
=1
...
Рейтинг: 0 / 0
22.08.2003, 00:43
    #32243965
danny_u2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще раз о Dateserial
ребята! большоое вам спасибо! (datedifff----хвала Герцу)))))
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / еще раз о Dateserial / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]