El código que has colocado no tiene mucho sentido.
1) haces una búsqueda con un ADOQuery. Esa búsqueda encontrará uno o varios registros.
2) Luego compruebas si el Dataset está vacío para saber si ha encontrado algún registro.
(hasta aquí parece correcto)
3) Entonces si ha encontrado algún registro,
intentas modificarlo usando un ADOTable, que es otro componente y que no se sabe dónde está apuntando...
(aquí está la incongruencia)
O usas el ADOQuery para todo o el ADOTable para todo, pero estás mezclando ambos.
Por otro lado te recomiendo que utilices parámetros a la hora de montar las sentencias SQL, en lugar de concatenar cadenas.
Código Delphi
[-]
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM CLIENTES ');
ADOQuery1.SQL.Add('WHERE ID_CL LIKE ' +quotedstr('%' + DBText1.Caption + '%')+' ');
ADOQuery1.Open;
if ADOQuery1.IsEmpty then Begin
showmessage('No se encuentra registrado, porfavor verifica los datos.');
End
Else Begin ADOQuery1.Edit;
ADOQuery1.FieldByName('NOM_CL').AsString := Edit1.Text;
ADOQuery1.Post;
End;