Cita:
Empezado por rgstuamigo
Bueno se me olvido decirte que incluyas la opcion foNoPartialCompare en la propiedad FilterOptions de tu DataSet (QDATOS) Lo puedes hacer en tiempo de Diseño para no hacerlo desde codigo . Hahh y por si las dudas, cuando se esta filtrando con Like en un DataSet no se usa el caracter '%' de porcentage sino el '*' Asterisco. Por favor no confundir con las consultas SQL que se hace aun servidor de Base de Dato.
Tu codigo quedaria asi:
Código Delphi [-]procedure TForm1.eBuscarTextoChange(Sender: TObject); begin QDATOS.Filtered:=False;//Deshabilito el filtro QDATOS.FilterOptions:=[foPartialCompare];{<--incluyo la opcion foPartialCompare, OJO si ya se hizo ésto en tiempo de diseño ésta linea no es necesaria} QDATOS.Filter:='NOMBRE LIKE ''*'+eBuscarTexto.Text+'*'''; QDATOS.Filtered:=True; //Habilito el filtro nuevamente end;
.
Pruebalo...
|
Yo mismo no me había quedado conforme y me puse a leer un poquito más y logré lo que quería con el siguiente código:
Código Delphi
[-] QDATOS.Close;
if Length(eBuscarTexto.Text) > 0 then
QDATOS.SQL[2] := 'WHERE NOMBRE LIKE ''%' + eBuscarTexto.Text + '%'''
else
QDATOS.SQL[2] := 'WHERE NOMBRE LIKE ''%%''';
QDATOS.Open;
Ahora déjame analizar el que escribiste a ver si resulta. Gracias por tu preocupación y dedicación.