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