Я не понимаю, почему ваш запрос не работает ... кроме случаев, когда endend содержит компонент даты, который не отображается в вашем формате.Тип данных Jet / ACE Date / Time всегда включает целочисленный компонент для представления даты;дробный компонент представляет время дня.
Посмотрите, что вы получите с этим:
SELECT Format(whenend, "yyyy/mm/dd hh:nn:ss") AS full_date_time
FROM tasksetup
ORDER BY 1 ASC
Возможно, этот сеанс в «Немедленном окне» поможет уточнить тип данных Дата / Время:
? Now()
11/5/2010 2:19:54 PM
? Format(Now(), "short time")
14:20
? CDbl(Now())
40487.5977546296
? CDate(0)
12:00:00 AM
? Format(CDate(0), "yyyy/mm/dd hh:mm:ss")
1899/12/30 00:00:00
Обновление : я создал таблицу с именем tasksetup с полем Date / Time, названным whenend, со свойством Format поля, установленным на Short Time.И я добавил 2 строки.Выполнение исходного запроса дает такой результат, который , по-видимому, неверен:
whenend
2:00
1:00
Однако предложенный мной запрос выполняется без ошибок и показывает, что на самом деле происходит:
full_date_time
1899/12/30 02:00:00
2010/11/06 01:00:00
Вы можете использовать функцию TimeValue (), чтобы игнорировать компонент даты значений даты / времени.Возможно, этот запрос даст вам результаты, которые вы изначально хотели.
SELECT TimeValue(whenend) AS ignore_dates
FROM tasksetup
ORDER BY 1 ASC;
ignore_dates
1:00:00 AM
2:00:00 AM