Здравствуйте!
Пытаюсь выбрать занесенные в таблицу даты по критерию если текущая дата находится в диапазоне с 1 сентября по 31 декабря текущего года, то выбираются даты с первого сентября по 31 декабря текущего же года.
В конструкторе запросов для поля [тРеестр].[Дата_добавления] в условии отбора пишу:
>=CDate(Format("01.09." & Year(Date());"dd.mm.yyyy"))
SELECT тРеестр.*
FROM тРеестр
WHERE (((тРеестр.Дата_добавления)>=CDate(Format("01.09." & Year(Date()),"dd.mm.yyyy"))))
ORDER BY тРеестр.Дата_добавления, тРеестр.№_графика, тРеестр.№_дог, тРеестр.Street, тРеестр.N_dom;
Это работает.
А если текущая дата (Date()) находится в диапазоне ДО 1 сентября текущего года, то надо выбрать все даты с 01 сентября прошлого года и по 31 августа текущего года.
Пытался в конструкторе запросов в условии отбора пытаюсь написать что-то наподобие (было несколько вариантов):
IIf(Month(Date())>9;
([тРеестр].[Дата_добавления])>=CDate(Format("01.09." & Year(Date());"dd.mm.yyyy"));
([тРеестр].[Дата_добавления])>=CDate(Format("01.09." & Year(Date())-1;"dd.mm.yyyy")) And ([тРеестр].[Дата_добавления])
SELECT тРеестр.*, тРеестр.Дата_добавления
FROM тРеестр
WHERE (((тРеестр.Дата_добавления)=IIf(Month(Date())>9,([тРеестр].[Дата_добавления])>=CDate(Format("01.09." & Year(Date()),"dd.mm.yyyy")),([тРеестр].[Дата_добавления])>=CDate(Format("01.09." & Year(Date())-1,"dd.mm.yyyy")) And ([тРеестр].[Дата_добавления])<CDate(Format("01.09." & Year(Date()),"dd.mm.yyyy")))))
ORDER BY тРеестр.Дата_добавления, тРеестр.№_графика, тРеестр.№_дог, тРеестр.Street, тРеестр.N_dom;
Вот эта конструкция уже не работает.
Подскажите пожалуйста, как сделать правильно, чтобы работало.
http://www.sql.ru/forum/1184987/vybrat-daty-po-godu-s-1-sentyabrya-proshlogo-goda-po-1-sentyabrya-tekushhego