Código Delphi
[-] //busqueda aproximada
Table1.FindNearest([Edit1.Text]);
//busqueda exacta
Table1.FindKey([Edit1.Text]);
Para este tipo de busqueda se necesita un indice activo, y obviamente la busqueda sera precisa y te ubicara al primer registro coincidente.
Si pretendes buscarlos con el metodo locate, al ser un metodo de busqueda secuencial, sera mas lento, salvo que busques varios regiustro coincidentes, se acelera un poco si lo trabajas con un indice activo, pero si desabilitas los controles de la data, y lo activas despues de haber llegado al registro buscado,
Table1.disablecontrols;
Table1.locate(parametros de busques);
table1.enablecontrols
Pero como sugirienron, si son varios y coinicentes, seria mejor que emplees un filtro.