|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Фильтрация ADOTable
Привет ребята!я уже к вам обращалась по поводу фильтра по датам!оказывается нужна фильтрация по периоду дат,но дело в том что какой код бы я не использовала выдает ошибку: аргумент имеет не правильный тип выходит за пределы диапазона или вступают в конфликт друг с другом! помогите если можете?!
|
#2
|
||||
|
||||
Привет-привет.
Напиши как сделано сейчас, а то модуль экстрасенса в армии забыл... Я за здоровый экстрим! Спасибо за "спасибо") |
#3
|
||||
|
||||
Код:
.ADOTable1.filter:='Дата начало>='+DateToStr(DateTimePicker1.Date)+'and Дата начало<='+DateToStr(DateTimePicker2.Date); Последний раз редактировалось agent_mariya, 22.05.2013 в 18:32. |
#4
|
||||
|
||||
если тип поля - не дата, то нужны кавычки, примерно так
Код:
table_name.Filter:='date_zayavka >='+QuotedStr(d1)+' and date_zayavka <='+QuotedStr(d2) ; поля русские можно вроде в access Я за здоровый экстрим! Спасибо за "спасибо") Последний раз редактировалось Mrak, 22.05.2013 в 18:45. |
#5
|
||||
|
||||
Цитата:
|
#6
|
||||
|
||||
еще попробуй поколдовать с этим
Код:
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
|
||||
|
||||
Не в языке проблема, а в том, что оно у вас имя поля не одним словом. Заключите имя такого поля в квадратные скобки:
Код:
.ADOTable1.filter:='[Дата начало]>='+DateToStr(DateTimePicker1.Date)+'and [Дата начало]<='+DateToStr(DateTimePicker2.Date); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
||||
|
||||
ребята, спасибо большое)решила проблему по другому через обработчик FilterRecord
Код:
procedure TForm3.ADOTable1FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin Accept:= (DataSet['Äàòà íà÷àëî'] >= DateTimePicker1.date) and (DataSet['Äàòà íà÷àëî'] <= DateTimePicker2.date); end; |
#9
|
||||
|
||||
А смысл такого фильтра? Выгоднее фильтр в запрос прописать.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#10
|
||||
|
||||
Цитата:
или я не правильно что то поняла? |
#11
|
||||
|
||||
Ты же запросами данные поднимаешь в таблицу?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#12
|
||||
|
||||
Цитата:
кидаешь adoquery к нему цепляешь datasource, source к гриду. пишешь при активации формы Код:
adoquery.sql.text:='SELECT * FROM baza.table'; adoquery.open; это почти тоже самое, что открыть через table. (т.е. table шлет этот запрос в базу) почитай про sql запросы, инфы валом. они лучше) Я за здоровый экстрим! Спасибо за "спасибо") |