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

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

Ничего не понимаю с фильтром [D6, Paradox]


Владимир С. ©   (2004-11-17 10:17:00) 

Уважаемые, Мастера!
Ничего не понимаю! Беру пример из книги -
(для фильтрации данных таблицы базы)

Table1.Filter:=Edit1.text;
Table1.Filtered:=True;

А программа пишет:'Table:Field 'C' not found'

Подскажите - Как вообще провести фильтрацию в таблице базы данных
с использованием Edit.

Спасибо!


Fay   (2004-11-17 11:35:00) [1]

2 Плохиш ©   (17.11.04 10:35) [10]
Я и не знал, что есть такая штука 8)


sniknik   (2004-11-17 11:17:00) [2]

Плохиш ©   (17.11.04 11:09) [13]
согласен, предположение неверное.


Плохиш   (2004-11-17 11:09:00) [3]


> sniknik ©   (17.11.04 11:01) [12]
> это на случай кавычки в самой фамилии (д'Артоньян) например,
> можно совместить
> Table1.Filter := 'name = '+QuotedStr(StringReplace(Edit1.Text,
> '''', '''''', [rfReplaceAll]));

После StringReplace(Edit1.Text, '''', '''''', [rfReplaceAll])Вы получите д''Артоньян, но это уже не правильная фамилия. QuotedStr обрамляет строку в апострофы и удваивает все апострофы в строке. Т.ч. StringReplace лишнее.


sniknik   (2004-11-17 11:01:00) [4]

Плохиш ©   (17.11.04 10:35) [10]
>> Fay ©   (17.11.04 10:33) [9]
> А чем QuotedStr не угодил?
это на случай кавычки в самой фамилии (д'Артоньян) например, можно совместить
Table1.Filter := 'name = '+QuotedStr(StringReplace(Edit1.Text, '''', '''''', [rfReplaceAll]));


Плохиш   (2004-11-17 10:36:00) [5]


> Владимир С.   (17.11.04 10:28) [7]
> Пробовал и так
>
> Table1.Filter:='([name]=Edit1.text)';

Врёшь, не могло в книге быть такого примера.


Плохиш   (2004-11-17 10:35:00) [6]


> Fay ©   (17.11.04 10:33) [9]

А чем QuotedStr не угодил?


Fay   (2004-11-17 10:33:00) [7]

Table1.Filter := 'name = '''+StringReplace(Edit1.Text, '''', '''''', [rfReplaceAll])+'''';


Mike Kouzmine   (2004-11-17 10:29:00) [8]

Filter + F1


Владимир С.   (2004-11-17 10:28:00) [9]

Пробовал и так

Table1.Filter:='([name]=Edit1.text)';
Table1.Filtered:=True;
В этом случае пишет 'Table:Field 'Edit1.text' not found'


ЮЮ   (2004-11-17 10:24:00) [10]

а имя поля, где искать "Фамилию, например", кто указывать будет?


Fay   (2004-11-17 10:24:00) [11]

2 Владимир С.   (17.11.04 10:22) [4]
Edit1.Text := 'Фамилию, например';?


Соловьев   (2004-11-17 10:22:00) [12]


> Владимир С.   (17.11.04 10:17)  

А хелп в делфи слабо глянуть?


Владимир С.   (2004-11-17 10:22:00) [13]

Фамилию, например


Mike Kouzmine   (2004-11-17 10:19:00) [14]

А что у тебя в Edit?


ЮЮ   (2004-11-17 10:19:00) [15]

>А программа пишет:'Table:Field 'C' not found'
А что ты написал в Edit1.text?


Наверх

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