Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Busqueda Incremental (https://www.clubdelphi.com/foros/showthread.php?t=78204)

camiz 29-03-2012 02:44:10

Busqueda Incremental
 
Hola a todos, tengo un problemita y quiero que me ayuden a resolver, los explico.
estoy haciendo una aplicacion y quiero que tenga TEdit que sirva para buscar y filtrar solamente el registro deseado. el codigo es este:

procedure TfrmPrincipal.Edit1Change(Sender: TObject);
begin
ClienDataSet1.Encomiendas_vista2.Filter := 'Nombre Like ' + QuotedStr(Edit1.Text + '%');
ClienDataSet1.Encomiendas_vista2.Filtered := True;
end;

el codigo hace su trabajo a la perfeccion. solo con un problema para mi que tengo que ingresar los caracteres del nombre tal y como estan escritos en el registro, si entrevero mayusculas y minusculas no encuentra el registro.
y si le agrego ala primera linea este codigo

ClienDataSet.FilterOptions := [foCaseInsensitive];

ya no funciona, alguien me podria decir en que estoy fallando. gracias de antemano

mightydragonlor 29-03-2012 02:59:26

Código Delphi [-]
procedure TfrmPrincipal.Edit1Change(Sender: TObject);
begin
ClienDataSet1.Encomiendas_vista2.Filter :=  'Nombre Like ' + QuotedStr('%' + Edit1.Text + '%');
ClienDataSet1.Encomiendas_vista2.Filtered := True;
end;
Prueba con esto.

ecfisa 29-03-2012 04:49:41

Hola camiz.

Por favor cuando incluyas código en tus mensajes utiliza los TAG's. Esta es una imágen que explica su uso:



En cuanto al código, me parece que deberías pasar ambos valores a mayúsculas al filtrar:
Código Delphi [-]
procedure TFormPrincipal.Edit1Change(Sender: TObject);
begin
  ClienDataSet1.Encomiendas_vista2.Filtered := False;
  ClienDataSet1.Encomiendas_vista2.Filter := 'UPPER(Nombre) Like ' + QuotedStr(UpperCase(Edit1.Text)+'%');
  ClienDataSet1.Encomiendas_vista2.Filtered:= True;
end;

Saludos.

camiz 29-03-2012 18:01:25

ecfisa
eres un genio, el codigo funciona como yo queria, asunto resuelto

gracias por la respuesta.


La franja horaria es GMT +2. Ahora son las 17:04:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi