Знаю, в чём твой косяк, я по началу тоже так попадался.
Фильтр использует синтаксис SQL запроса.
Чтобы он правильно работал, имя поля должно представлять из себя одно целое. А оно у тебя с пробелом.
В результате для синтаксиса SQL оно предстаёт как два несвязанных между собой слова.
Просто возьми имя поля в квадратные скобки, и всё будет работать:
Код:
procedure TForm3.Edit3Change(Sender: TObject);
begin
if (edit3.text<>'') then
begin
BD.Filter:='([Вид роботи] LIKE '''+edit3.Text+'%'')';
BD.Filtered:=true;
end
else
BD.Filtered:=false;
end;