Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DateTime в формате String в базе Access


Surrender ©   (2004-09-15 19:50:00) 

В базе Access Дата и Время записывается в формате String в виде 08.08.04 7:34:27 , SQL запрос на выбор записей лежащих в пределе Одной смены (т.е за 8 часов) возвращает не коректный результат. Подскажите пожалуйсто как заставить все правельно работать.


Erik1   (2004-09-16 10:08:00) [1]

В MsAccess создаеш SQL и записываеш его, далее используеш этот SQL как таблицу. В SQL преобразовываеш String в DateTime, все быстро и просто.


sniknik   (2004-09-16 07:53:00) [2]

хотя бы замени формат записи (в строке) на однозначный
2004-12-01 00:00:00
2004/12/01 00:00:00
2004.12.01 00:00:00
(все равнозначны, должны работать)


sniknik   (2004-09-16 07:48:00) [3]

> во время выполнения запроса преобразовать тип этого поля
функция преобразования CDate или DateValue
это не проблема, проблема в том как они работает.
проверь вот такой запрос
Select CDate('01.13.04 00:00:00'), CDate('13.01.04 00:00:00')
и внимательно посмотри на результат
(а ведь записыватся могут оба варианта в зависимости от локальных настроек)

в общем менять тип нужно обязательно, и работать с ним как с датой (числом) а не строкой, легко можно это сделать в Access-е. (можно и запросами програмно но это чуть сложнее)


Surrender   (2004-09-16 06:05:00) [4]

Поменять тип  поля я немогу ( или не знаю как) база создается программой визуализации ProTool как архив пораметров автоматически без моего вмешательства.
Запрос SQL я помещаю в ClientDataSet.CommandText в таком виде:
Select * from MyDb
Where MyTime > '08.08.04 00:00:01' And MyTime < '08.08.04 9:00:00'

Можно ли в ClientDataSet На лету во время выполнения запроса преобразовать тип этого поля, чтобы потом уже с помощью фильтра в томже ClientDataSet Отфильтровать данные,или же есть другой способ. Подскажите пожалуйсто!


ЮЮ   (2004-09-16 02:42:00) [5]

Свой запрос приведи хотя бы


sniknik   (2004-09-15 20:37:00) [6]

> В базе Access Дата и Время записывается в формате String
поменяй тип поля на нормальный datatime.

> Подскажите пожалуйсто как заставить все правельно работать.
правельно написать, с правельными данными.


Наверх

Титульная страница Поиск, карта сайта Написать письмо