Как заказать запрос доступа по столбцу раз - PullRequest
0 голосов
/ 05 ноября 2010

У меня довольно простой запрос, но я бы хотел, чтобы он возвращал результаты по порядку с самого раннего времени до самого последнего.Рассматриваемая колонка - «короткое время».Вот что у меня сейчас есть:

SELECT *
FROM tasksetup
ORDER BY whenend ASC

Какой правильный синтаксис, чтобы заставить это работать?

Как обновление: когда я запускаю этот запрос, он прекрасно работает в том, что онзавершается.Однако завершенный запрос не упорядочен так, как мне бы хотелось.Он возвращает результаты примерно в том же порядке, что и в таблице, а не в порядке whenend.

Обновление 2: я думаю, это работает.Я не знаю, что было вчера, но сейчас все в порядке.О информатике.

1 Ответ

2 голосов
/ 05 ноября 2010

Я не понимаю, почему ваш запрос не работает ... кроме случаев, когда 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...