Ver Mensaje Individual
  #6  
Antiguo 21-06-2022
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 20
movorack Va camino a la famamovorack Va camino a la fama
Aunque ya nos dijiste que encontraste una solución te comento lo siguiente para que no quede como una "cosa[s] extraña[s] de la vida"

Por lo que cuentas y muestras, yo pienso que el inconveniente que tienes es por la línea donde validas que el edit tenga algo de texto.

Código Delphi [-]
//Aquí estás validando que el edit tenga texto
if EBuscar.Text <> EmptyStr then
  begin
    QRecibidas.Filtered:= False;
    QRecibidas.Filter  := 'Nombre like '+QuotedStr('%'+ EBuscar.Text + '%');
    QRecibidas.Filtered:= True;
    end
    Else
    QRecibidas.Filtered:= False;
  end;

Como el evento se dispara cuando el texto cambia, aunque hayas borrado todo, creo que el filtro queda activo con algún carácter que impide mostrar todo el contenido de la tabla. Es por ello que al agregar una sentencia por defecto en el ELSE obtienes un resultado.

Con el filtro hubieses podido limpiar el filtro cuando el texto estuviese vacío.

Código Delphi [-]
if Trim(EBuscar.Text) <> EmptyStr then
begin
  QRecibidas.Filtered:= False;
  QRecibidas.Filter  := 'Nombre like '+QuotedStr('%'+ EBuscar.Text + '%');
  QRecibidas.Filtered:= True;
end
ELSE
  QRecibidas.Filtered:= False;

Ahora, debes evaluar cual método te es mas conveniente al realizar el cambio de texto. ir a la base de datos y realizar la consulta o realizar un filtro sobre el dataset que ya tienes en memoria. Igual, ambos tienen un costo en recursos y tiempo en la aplicación.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita