Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Problema con Filter en RxMemoryData (https://www.clubdelphi.com/foros/showthread.php?t=40171)

agustibaldo 08-02-2007 19:19:27

Problema con Filter en RxMemoryData
 
Hola amigos del club. En esta ocasion les consulto por una cuestion que me surgio a partir de querer filtrar datos almacenados en RxMemoryData.
Concretamente tengo un RxMemoryData con 3 campos creados: IDSucursal, IDEmpleado, Nombre.
Pues bien, al querer realizar un filtro para seleccionar los empleados cuyos IDSucursal = 1, no me toma el filtro. Les comento las opciones que he probado, pero lamentablemente sin ningun resultado positivo.:(

Tabla.Filtered := False;
Tabla.Filter := 'IDSucursal = 1';
Tabla.Filtered := True;

Esto es lo basico que he realizado. Ademas he probado, colocar luego de Tabla.Filtered := False, Tabla.First y nada...

He procurado limpiar el filtro con Tabla.Filter := '', tampoco nada.

En conclusion, a estos datos los muestro en dbgrid.

Desde ya les agradezco enormemente su tiempo.
Un abrazo.
Agustín

Caral 08-02-2007 19:32:03

Hola agustibaldo
Intenta asi:
Pon un edit en el form:
Código Delphi [-]
 Tabla1.Open;
 Tabla1.Filter := 'IDSucursal  = '+QuotedStr(Edit1.Text);
 Tabla1.Filtered := True;
Lo que este en el edit, sera filtrado a la tabla.
Si no sirve trata con un query asi:
Código Delphi [-]
  Query1.Open;
  Query1.Filter := 'IDSucursal  = '+QuotedStr(Edit1.Text);
  Query1.Filtered := True;
Por supuesto dandole la sentenciq sql al query antes.
Saludos

agustibaldo 08-02-2007 19:43:41

Probema con Filter en RxMemoryData
 
Caral, muchisimas gracias, por tu pronta respuesta.
He probado de la froma que tu me indicas pero sigo sin resultado
Es probable que no me haya explicado bien respecto a la tabla utilizada, intentare darte mas datos:
Estoy utilizando un componente RxMemoryData (tabla en memoria), el cual lleno con algunos datos luego de hacer una consulta SQL y recuperar la informacion que necesito.
La cusetion es que de esos datos que recupero solo necesito los que intento filtrar...
En tiempo de diseño activo la tabla para ponerla en uso y en ningun momento debo abrirla con la instruccion Tabla.Open;
Espero haber sido mas claro esta vez, y te agradezco nuevamente tu respuesta.
Un Abrazo.
Agustín.

jhonny 08-02-2007 22:22:18

Bueno, alguna vez tuve ese problema y la solución fue la siguiente, cambia el siguiente codigo:
Código Delphi [-]
Tabla.Filtered := False;
Tabla.Filter := 'IDSucursal = 1';
Tabla.Filtered := True;
Por el siguiente
Código Delphi [-]
  Tabla.Filtered := False;
  Tabla.Filtered := True;

Y en el evento OnFilterRecord del TRxmemoryTable haces lo siguiente
Código Delphi [-]
Accept := (IDSucursal = 1);
Y Listo ya debe funcionar :p

La verdad es que nunca he podido entender para que es la propiedad Filter de las TRxMemoryTable, espero que la ayuda te sirva de algo ;)

agustibaldo 09-02-2007 16:04:10

Problemas con Filter en RxMemoryData
 
Jhonny y Caral, un millon de gracias por su tiempo en contestar mi pregunta sobre el problema con el RXMemoryData.
Jhonny te comento que he probado la opción que enviaste y funciona correctamente, la verdad que no entiendo muy bien la razon por la cual no funciona el filtro en este componente de manera convencional.
Nuevamente les agradezco mucho la ayuda.
Un abrazo.
Agustín


La franja horaria es GMT +2. Ahora son las 06:25:30.

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