![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ничего не понимаю с фильтром [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?