Для базы акцесса можно и такое делать, в данном случае с текстовыми полями, текст вводится в отдельный едит
Код:
...
if Length(Edit1.Text) = 0 then exit;
tbl.Locate('поле', Edit1.Text, [loPartialKey]);
if Edit1.Text = dbgrid1.Fields[0].Text then // есть такое слово
else // его нет в базе
...
З.Ы. Ведь при совпадении на первичном ключе будет ошибка выскакивать от ядра, а так - нет, лишь своё сообщение или действие, смотря что задать при сравнении