![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтрация [D5, Paradox]
Miss © (2002-11-10 08:23:00)Пусть имеется поле типа DateTime, через TTable необходимо отфильтровать только по году
Miss (2002-11-11 11:09:00) [1]
> Можно уточнить, зачем в поле присваивать значение Edit"а
>
Беру свои слова обратно:))
Miss (2002-11-11 10:41:00) [2]
> А_2 (11.11.02 09:57)
> Вы спорите , даже не понимаете о чем !!!
> Все работает от
>
> DataModule1.Table3.SetKey;
> DataModule1.Table3.FieldByName("FAM").AsString := Edit1.Text;
> DataModule1.Table3.GotoNearest;
> Просто пример. Вместо «FAM» любой тип данных может быть.
Можно уточнить, зачем в поле присваивать значение Edit"а
Miss (2002-11-11 10:15:00) [3]
> iNew (11.11.02 07:41)
> Table1.IndexName:="indexfield";
> Table1.SetRange([StrToDate(01.01.98)],[StrToDate(31.12.98)]);
Это все конечно работает, но это фильтрация а нужен поиск.
А_2 (2002-11-11 09:57:00) [4]Вы спорите , даже не понимаете о чем !!!
Все работает от
DataModule1.Table3.SetKey;
DataModule1.Table3.FieldByName("FAM").AsString := Edit1.Text;
DataModule1.Table3.GotoNearest;
Просто пример. Вместо «FAM» любой тип данных может быть.
Miss (2002-11-11 09:20:00) [5]
> 2Miss
> А почему бы не перейти на SQL. Это поудобней будет и поуниверсальней.
А зачем это для локальной базы?
pasha676 (2002-11-11 08:58:00) [6]2Miss
А почему бы не перейти на SQL. Это поудобней будет и поуниверсальней.
iNew (2002-11-11 07:41:00) [7]Table1.IndexName:="indexfield";
Table1.SetRange([StrToDate(01.01.98)],[StrToDate(31.12.98)]);
Miss (2002-11-11 07:13:00) [8]Пусть имеется поле типа DateTime, через TTable необходимо НАЙТИтолько по году
Miss (2002-11-11 06:32:00) [9]Я же сказала исправить пришлось:))
Miss (2002-11-11 06:32:00) [10]Я же сказала исправить пиршлось:))
Anatoly Podgoretsky (2002-11-10 17:50:00) [11]" > and Field<=" это не должно работать
Miss (2002-11-10 17:30:00) [12]>Anatoly Podgoretsky © (10.11.02 16:29)
>Тогда с маленикими модификациями то что я привел выше
>Table.Filter := "Field>=" + QuotedStr("1.01." + Edit1.Text) + " >and Field<="+QuotedStr("31.12." + Edit1.Text);
Спасибо, с моими маленькими модификациями это работает!!:)))
Anatoly Podgoretsky (2002-11-10 17:28:00) [13]Ну сколько можно говорить, не надо преобразовывать в TDate - выражение фильтра СТРОКОВОГО типа. Я же привел в Anatoly Podgoretsky © (10.11.02 16:29) точный синтаксис для построения фильтра по году.
Miss (2002-11-10 17:10:00) [14]Например
DM.tMain.Filter:="DATR>="+StrToDate("1.01."+ed.Text)";
Поле DATR типа ДАТА
Anatoly Podgoretsky (2002-11-10 17:05:00) [15]Не надо, выражения фильтра это строка
Miss (2002-11-10 16:59:00) [16]Так не фильтр превращаю в дату. Поле имеет тип дата, поэтому Edit надо превратить в дату, дату ведь можно сравнить лишь с датой.
Anatoly Podgoretsky (2002-11-10 16:34:00) [17].Filter имеет тип строковый, не надо превращать в дату
Miss (2002-11-10 16:33:00) [18]>Anatoly Podgoretsky © (10.11.02 15:55)
>Ну так привели как ты Edit превращаешь в фильтр
StrToDate("1.01."+ed.Text)
Anatoly Podgoretsky (2002-11-10 16:29:00) [19]Тогда с маленикими модификациями то что я привел выше
Table.Filter := "Field>=" + QuotedStr("1.01." + Edit1.Text) + " and Field<="+QuotedStr("31.12." + Edit1.Text);
Miss (2002-11-10 16:19:00) [20]>Anatoly Podgoretsky © (10.11.02 15:55)
>Ну так привели как ты Edit превращаешь в фильтр
В этом то и проблема