![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.03.2019
Сообщений: 3
|
![]()
Всем привет! Ребята, есть таблица "Delivery", в ней поле "FDATE", в которое надо записать дату поставки. Формат поля "Краткий формат даты", маска ввод 00/00/0000/0_
База данных Access 2002-2003 *.mdb Суть проблемы: 1) Когда из делфи запросом добавляю запись в таблицу Delivery access меняет местами день и месяц в дате. Причем меняет выборочно, т.е. если день в промежутке от 1 до 12, то заменяет, если больше, то записывает как надо. Пример: дата 08.02.2019 сохраняется как 02.08.2019, а 14.02.2019 сохраняется как надо. 2) При выборке из таблицы Delivery нужно указать период поставок. Нижеописанный запрос возвращает пустой набор данных. SELECT * FROM Delivery WHERE Delivery.FDATE BETWEEN #01/02/2019# AND #02/03/2019# ORDER BY Delivery.FDATE, Delivery.ID_Deliver; Если меняю период дат, он выдает набор данных с поставками, но диапазон дат не соответствует. К примеру, нижеописанный запрос возвращает поставки в указанный период, но к ним добавляет поставки за 05.03.2019: SELECT * FROM Delivery WHERE Delivery.FDATE BETWEEN #28/02/2019# AND #04/03/2019# ORDER BY Delivery.FDATE, Delivery.ID_Deliver; Пытался заменить BETWEEN на простое условие >= and <=, но результат тот же. __________ Почему с датами всегда все сложно?
Все гениальное просто...
|
![]() |
![]() |
![]() |
#2 |
Регистрация: 09.03.2019
Сообщений: 3
|
![]()
Вот сама БД.
У меня основной задачей является отображение информации о поставках за определенный период. Сперва в программе я выбираю от кого отобразить поставки (от физ. лиц или организаций), затем выбираю период поставок: 2 компонента TDateTimePicker, после чего запрашиваю из БД набор данных: Код:
Все гениальное просто...
Последний раз редактировалось Евгений Келер; 09.03.2019 в 12:25. Причина: Дополнил |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
В Date еще вообще-то и время есть. И о параметризованных запросах не слышал? Типа такого
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.03.2019 в 13:20. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Используйте параметрический запрос
http://www.programmersforum.ru/showp...18&postcount=2 Даты не надо никуда преобразовывать. там содержится не только дата, но время, поэтому нужно отрезать временную часть, например, через Trunc() http://www.programmersforum.ru/showp...18&postcount=2 ДОБАВЛЕНО Упс.. я опоздал и повторил то же самое. Извините... |
![]() |
![]() |
![]() |
#5 |
Регистрация: 09.03.2019
Сообщений: 3
|
![]()
Понял. Спасибо большое.
А насчет коммента "Преобразования даты к виду 00/00/0000" - в DateTimePicker она хранится в виде 00.00.0000, а access в запросе требует слеш, а не точку. На этом месте кода ошибка была, прошлось поменять вид даты. А разве передавая в переменную значение DateTimePicker1.Date я получаю не только дату? И да, я не слышал о параметризованных запросах, но это исправлю.
Все гениальное просто...
Последний раз редактировалось Евгений Келер; 09.03.2019 в 19:56. |
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Цитата:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.03.2019 в 20:09. |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фильтрация по дате | ДневнойДоширак | Общие вопросы Delphi | 3 | 06.08.2017 09:12 |
Фильтрация по дате | qqwweertyy | Помощь студентам | 0 | 22.12.2016 19:23 |
фильтрация по дате | delfin07 | C++ Builder | 0 | 04.06.2012 09:34 |
Фильтрация по дате в ADO | AlexSol.BY | Помощь студентам | 5 | 07.12.2010 10:32 |
Фильтрация по текущей дате | DimOn4Ik | БД в Delphi | 4 | 25.04.2010 21:48 |