Ver Mensaje Individual
  #32  
Antiguo 29-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Reputación: 20
oscarac Va por buen camino
jajajaja no pues caral

segun veo yo el meollo del asunto esta en el edit y los filtros
mas facil seria (y sigo diciendo creo yo) utilizar otro tipo de artificio
es mis epocas de programar en Fox 2.5 diseñe una rutina muy buena de busqueda, la cual he implementado en delphi tambien
la idea es la siguiente

una Tabla
una grilla
un edit

lo que escribo en el edit, debe buscarlo en la tabla
siempre he sido enemigo de los sistemas que preguntan el criterio de busqueda (quiere buscar opr codigo? quiere buscar por descripcion? quiere buscar por numero de cedula?, quiere buscar por tipo de sangre?, etc)

entonces se me ocurrio lo siguiente

Código Delphi [-]
 
procedure TfrmCatalogoTrabajador.edtSearchChange(Sender: TObject);
var _Position :TBookmarkStr;
begin
  if qryTrabajadores.Locate('KOD', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'KOD';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.Show;
    End;
  if qryTrabajadores.Locate('otro', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'otro';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.Show;
    End;
  If qryTrabajadores.Locate('Descl', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'Descl';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.show;
    End;
  if edtSearch.text <> '' then
    Begin
      Panel4.Visible := True;
      LblSearch.Caption := qryTrabajadoresDESCL.AsString;
    End
  else
    Panel4.Visible := False;
end;

la logica es bastante sencilla (aunque falta mejorar), y añado, que es nua rutina solo de busqueda, no es para filtrar, soy enemigo de los filtros porque en tablas con pocos datos son rapidos, pero en tablas con miles de registros ya no lo son tanto
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita