Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 792

/ вопрос решён /

Доброго времени суток, уважаемые эксперты!
Подскажите, как при помощи фильтра выделить диапазон данных
по двум полям ‘дата’ и ’время’, например, с 01.01.12 20:00 по 20.12.12 18:00, .
Приведенный код фильтрует, но не так как надо.

AdoTable.filter:='дата >='+quotedstr(formatDateTime('dd.mm.yy',(dateTimePicker5.Time)))+' and '
+'время >='+quotedstr(FormatDateTime('hh:00',(dateTimePicker6.Time)))+' and '+'дата <='+quotedstr(formatDateTime('dd.mm.yy',(dateTimePicker7.Time)))+' and '
+ 'время <='+quotedstr(FormatDateTime ('hh:00',(dateTimePicker9.Time)));

alexsandr Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: alexsandr (статус: Посетитель)
Вопрос отправлен: 2 декабря 2011, 16:01
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, alexsandr!
Условие должно правильно учитывать промежуток.
давайте, что бы не перегружать мозк, введем обозначения - дс - дата старта, дк - дата конца, вс и вк. дс к примеру будет равен чему то такому formatDateTime('dd.mm.yy',(dateTimePicker5.Time)) (ну и дальше по Вашей логике). д и в - дата и время.
Результирующее условие будет такое
((д = дс и в > вс) или (д>дс)) и ((д < дк) или (д = дк и в < вк))
и = and
или = or

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 2 декабря 2011, 18:55
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 3 декабря 2011, 19:17; участников в обсуждении: 3.
alexsandr

alexsandr (статус: Посетитель), 2 декабря 2011, 19:15 [#1]:

Благодарю Вадим, попробую отпишусь.
Вадим К

Вадим К (статус: Академик), 2 декабря 2011, 19:17 [#2]:

это был сарказм? оценка 1 ???
Галочка "подтверждения прочтения" - вселенское зло.
alexsandr

alexsandr (статус: Посетитель), 2 декабря 2011, 19:55 [#3]:

Нет!!! Вадим ни в коем разе, досадная ошибка, прошу прощения.
Как исправить?
Своевременная и нужная помощь 5 !!!
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 2 декабря 2011, 20:35 [#4]:

alexsandr: а каким местом вы думали, когда ставили 1? Там по-русски написано, что изменить оценку нельзя.
alexsandr

alexsandr (статус: Посетитель), 3 декабря 2011, 11:23 [#5]:

Вадим, большое спасибо за помощь, всё получилось.

Ещё раз прошу прошения за мою неуклюжесть.
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 3 декабря 2011, 14:09 [#6]:

Оценка изменена с единицы на пятёрку, но в будущем не ляпайте что попало.
alexsandr

alexsandr (статус: Посетитель), 3 декабря 2011, 19:17 [#7]:

Спасибо.
Тема закрыта.

3 декабря 2011, 19:44: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Вот теперь закрыта.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:53
Выполнено за 0.02 сек.