Hola dalsim, yo también lo haría de la forma que te ha indicado Newtron, solo que en ves de utilizar un ComboBox utilizaría un DBLookupListBox, enlazado a la consulta que te ha puesto radenf y este DBLookupListBox lo mostrarias solo cuando se ha presionado alguna tecla en tu edit.
en el Onchage de tu Edit:
Código Delphi
[-]
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.text:='select * from Tu Tabla where ucase (Tu campo) like ''%'+UpperCase(Edit1.Text)+'%''order by nombre';
Query1.Open
para enlazar tu dataset al DBLookupListBox:
ListSource -> DataSource que apunta a tu query
ListField -> campo a mostrar
KeyField -> tu campo codigo
en el OnKeyPress de tu edit puedes hacer viible tu DBLookupListBox y en el OnExit lo haces invisible verificando que no sea el DBLookupListBox al que se pasado el foco. Y capturar las teclas fecha arriba (VK_UP) o abajo (VK_DOWN) en el evento OnKeyDown, para ir de uno a otro.
Saluditos