Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2017, 22:44   #1
SERGIOBrest
Пользователь
 
Регистрация: 26.05.2017
Сообщений: 19
По умолчанию Поквартальный фильтр дат

Подскажите в чем может быть ошибка.
Фильтр не работает.
Необходимо отфильтровать даты поквартально в столбе - Дата поставки
Использую ADOTable + access

Код:
  Form3->ADOTable1->Filtered=false;
    Form3->ADOTable1->Filter = "[Дата поставки] >= '" +DateTimePicker1->Date.FormatString("dd.mm.yyyy") +
    "' and [Дата поставки] <= '" + DateTimePicker2->Date.FormatString("dd.mm.yyyy") + "%'";
SERGIOBrest вне форума Ответить с цитированием
Старый 26.05.2017, 22:47   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от SERGIOBrest Посмотреть сообщение
Код:
Form3->ADOTable1->Filtered=false;
А обратно не включаете? Как он заработает, когда ключ не повёрнут?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 27.05.2017, 22:34   #3
SERGIOBrest
Пользователь
 
Регистрация: 26.05.2017
Сообщений: 19
По умолчанию

При включении фильтра, тоже не работает не фильтрует нужный диапазон дат
SERGIOBrest вне форума Ответить с цитированием
Старый 27.05.2017, 22:48   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от SERGIOBrest Посмотреть сообщение
'" + DateTimePicker2->Date.FormatString("dd.mm.yyyy") + "%'"
процент употребляется вроде бы только в строках и только с LIKE, нет?

и попробуйте так:

Код:
DateToStr(DateTimePicker2->Date)
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 27.05.2017, 22:58   #5
SERGIOBrest
Пользователь
 
Регистрация: 26.05.2017
Сообщений: 19
По умолчанию

Не работает, даже без процента
SERGIOBrest вне форума Ответить с цитированием
Старый 27.05.2017, 23:00   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

OnFilterRecord для подобного фильтра в делфи использовал бы, а еще лучше в запросе и кверик. В билдере тоже должно быть такое событие
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.05.2017, 23:03   #7
SERGIOBrest
Пользователь
 
Регистрация: 26.05.2017
Сообщений: 19
По умолчанию

Можно поподробнее про запрос
SERGIOBrest вне форума Ответить с цитированием
Старый 27.05.2017, 23:33   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Про запрос:

Код:
Query1.Close;
Query1 -> SQL -> Text = 'SELECT * FROM <Имя таблицы> WHERE [Дата поставки]  BETWEEN :DT1 AND : DT2;
Query1 -> ParamByName('DT1') -> Value = DateTimePicker1->Date;
Query1 -> ParamByName('DT2') -> Value = DateTimePicker2->Date;
Query1 -> Open;
Query1 - компонент TQuery, используется вместо Table и связывается с остальными так же, как табле
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 28.05.2017, 00:09   #9
SERGIOBrest
Пользователь
 
Регистрация: 26.05.2017
Сообщений: 19
По умолчанию

Пишет ошибку token not found token: Query1

Код:
Query1.Close;
Query1 -> SQL -> Text = 'SELECT * FROM [Форма 50] WHERE [Дата поставки]  BETWEEN :DT1 AND : DT2';
Query1 -> ParamByName('DT1') -> Value = DateTimePicker1->Date;
Query1 -> ParamByName('DT2') -> Value = DateTimePicker2->Date;
Query1 -> Open;
SERGIOBrest вне форума Ответить с цитированием
Старый 28.05.2017, 00:12   #10
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

TQuery или TADOQuery на форму кинули?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL фильтр и сравнение двух дат demiancz БД в Delphi 10 26.12.2013 15:36
Фильтр по неравенству дат, в чем ошибка? Avalon_Albio Помощь студентам 4 27.06.2013 07:43
Промежуток дат Sina Помощь студентам 6 30.11.2010 16:10
Формат дат lalilulelo Помощь студентам 10 27.04.2009 14:55