Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтрация [D5, Paradox]


Страницы:   1 2

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 превращаешь в фильтр
В этом то и проблема


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо