Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.05.2013, 17:51
Аватар для agent_mariya
agent_mariya agent_mariya вне форума
Прохожий
 
Регистрация: 05.03.2013
Сообщения: 25
Репутация: 10
Вопрос Фильтрация ADOTable

Привет ребята!я уже к вам обращалась по поводу фильтра по датам!оказывается нужна фильтрация по периоду дат,но дело в том что какой код бы я не использовала выдает ошибку: аргумент имеет не правильный тип выходит за пределы диапазона или вступают в конфликт друг с другом! помогите если можете?!
Ответить с цитированием
  #2  
Старый 22.05.2013, 18:02
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

Привет-привет.
Напиши как сделано сейчас, а то модуль экстрасенса в армии забыл...
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
  #3  
Старый 22.05.2013, 18:10
Аватар для agent_mariya
agent_mariya agent_mariya вне форума
Прохожий
 
Регистрация: 05.03.2013
Сообщения: 25
Репутация: 10
По умолчанию

Код:
.ADOTable1.filter:='Дата начало>='+DateToStr(DateTimePicker1.Date)+'and Дата начало<='+DateToStr(DateTimePicker2.Date); 
а может ошибка быть из-за того что поля русские?

Последний раз редактировалось agent_mariya, 22.05.2013 в 18:32.
Ответить с цитированием
  #4  
Старый 22.05.2013, 18:42
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

если тип поля - не дата, то нужны кавычки, примерно так
Код:
table_name.Filter:='date_zayavka >='+QuotedStr(d1)+' and date_zayavka <='+QuotedStr(d2) ; 

поля русские можно вроде в access
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")

Последний раз редактировалось Mrak, 22.05.2013 в 18:45.
Ответить с цитированием
  #5  
Старый 22.05.2013, 19:44
Аватар для agent_mariya
agent_mariya agent_mariya вне форума
Прохожий
 
Регистрация: 05.03.2013
Сообщения: 25
Репутация: 10
По умолчанию

Цитата:
Сообщение от Mrak
если тип поля - не дата
тип поля как раз таки дата
Ответить с цитированием
  #6  
Старый 22.05.2013, 20:30
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

еще попробуй поколдовать с этим
Код:
table_name.Filter:='date_zayavka >='+QuotedStr(formatdatetime('yyyymmdd', datetimepickler1.Date))+' and date_zayavka <='+QuotedStr(formatdatetime('yyyymmdd', datetimepickler1.Date)) 

это на случай америкосовской системы даты. мне кажется что-то с этим, пробуй разные вариации.

для начала убери переменную, напиши типа так
Код:
table_name.Filter:='date_zayavka >= 12112013 and date_zayavka <= 14112013'

тоже пользуй разные вариации
посмотри формат в базе
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
  #7  
Старый 22.05.2013, 21:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Не в языке проблема, а в том, что оно у вас имя поля не одним словом. Заключите имя такого поля в квадратные скобки:
Код:
.ADOTable1.filter:='[Дата начало]>='+DateToStr(DateTimePicker1.Date)+'and [Дата начало]<='+DateToStr(DateTimePicker2.Date);
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 27.05.2013, 20:23
Аватар для agent_mariya
agent_mariya agent_mariya вне форума
Прохожий
 
Регистрация: 05.03.2013
Сообщения: 25
Репутация: 10
По умолчанию

ребята, спасибо большое)решила проблему по другому через обработчик FilterRecord
Код:
procedure TForm3.ADOTable1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
Accept:= (DataSet['Äàòà íà÷àëî'] >= DateTimePicker1.date) and (DataSet['Äàòà íà÷àëî'] <= DateTimePicker2.date);
end;
тока вот возникла другая проблема...фильтрация по диапазону работает,а вот по другим полям нет(
Ответить с цитированием
  #9  
Старый 27.05.2013, 20:30
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

А смысл такого фильтра? Выгоднее фильтр в запрос прописать.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #10  
Старый 27.05.2013, 20:34
Аватар для agent_mariya
agent_mariya agent_mariya вне форума
Прохожий
 
Регистрация: 05.03.2013
Сообщения: 25
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
А смысл такого фильтра? Выгоднее фильтр в запрос прописать.
у меня база через ADOTable подключенна, а переделывать времени нет

или я не правильно что то поняла?
Ответить с цитированием
  #11  
Старый 27.05.2013, 21:47
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ты же запросами данные поднимаешь в таблицу?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #12  
Старый 27.05.2013, 23:27
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

Цитата:
Сообщение от agent_mariya
у меня база через ADOTable подключенна, а переделывать времени нет
че там переделывать.
кидаешь adoquery к нему цепляешь datasource, source к гриду.
пишешь при активации формы
Код:
adoquery.sql.text:='SELECT * FROM baza.table';
adoquery.open;

это почти тоже самое, что открыть через table. (т.е. table шлет этот запрос в базу)
почитай про sql запросы, инфы валом. они лучше)
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter