Ver Mensaje Individual
  #2  
Antiguo 12-05-2006
Acanol Acanol is offline
Miembro
 
Registrado: abr 2006
Ubicación: Elche
Posts: 75
Reputación: 19
Acanol Va por buen camino
Buenas, no se si esto te servira, con el siguiente ejemplo hace o que pides pero escribiendo en un edit, por la palabra que quieres que se realice el locate... Espero que te sirva, sino es asi dime como puedo ayudarte.

Código Delphi [-]
Tabla:= Nombre de tu tabla; 
Edit:= Nombre del edit donde escribes lo que quieres filtrar; 
Campo:= El campo de la tabla el cual quieres filtrar; 


//En el evento Onchange de tu edit pones lo siguiente 
Código:
procedure TForm1.Edit1Change(Sender: TObject); 
begin 
    datamodule1.Tabla.Filtered:= True; //Datamodule1, es donde se encuentra la tabla (para tenerlas un poco mas organizadas, si tienes mas de una) 
end; 

//En el evento OnFilterRecord de la tabla 

Código:
procedure TDataModule1.TablaFilterRecord(DataSet: TDataSet;  var Accept: Boolean); 
begin 
  if datamodule1.Tabla.Locate ('Campo',unit1.Form1.Edit.text,[Lopartialkey,LocaseInsensitive]) then 
       accept:=true 
  else 
       accept:= false; 

end; 

//Si solo quieres coger letras en el "Edit", añades esto en el evento "OnKeyPress" del edit 
Código:
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char); 
begin 

    if key in ['0'..'9'] then key:=#0; 

end;
__________________
{Saludos.}

//Todos los dias se aprende algo nuevo, por que no enseñar nosotros?
Responder Con Cita