Показать сообщение отдельно
Старый 30.01.2012, 13:48   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Pustik Посмотреть сообщение
Скорее всего хотят, чтобы указанная дата(_date) проверялась в периоде StartDate..EndDate если эти даты явно указаны в таблице.
Т.е.
1) если указана дата StartDate но неуказана EndDate, то бери если _date >= StartDate,
2) если не указана StartDate но указана EndDate, то бери если _date <= Enddate,
3) если указана StartDate и указана EndDate, то бери если _date >= StartDate и при этом _date <= EndDate,
4) если не указана StartDate и не указана EndDate, то бери в любом случае.
Ну, если учесть, что dateNull() меньше любой другой даты, то (4) является частным случаем (1), разве нет?

Таким образом, один из критериев можно опустить (и ещё, кажется, Вы перепутали условия для StartDate и EndDate).

X++:
qbdsTable.addRange(fieldNum(Table, StartDate)).value(queryRange(dateNull(), _date));
    
qbdsTable.addRange(fieldNum(Table, EndDate)).value(queryRange(_date, dateNull()));
qbdsTable.addRange(fieldNum(Table, EndDate)).value(queryValue(dateNull()));
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: Pustik (1), gl00mie (1), PavelX (3), Eldar9x (1), Aquarius (1), S.Kuskov (1).