Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Filtros con Zeos (https://www.clubdelphi.com/foros/showthread.php?t=3686)

vichovi 16-09-2003 21:40:39

Filtros con Zeos
 
Hola a tod@s:

Tengo un pequeño problema, hasta ahora utilizaba el siguiente codigo para filtrar los datos de una tabla MySQL utilizando los componentes ZEOS:

mstRecibosFacturas.Filtered:=true;
mstRecibosFacturas.Filter:='NumFactura='+quotedstr(msqAlbaranes['numfactura']);


Con lo que conseguia los recibos de la factura seleccionada, pero despues de la ultima modificacion de la aplicacion, y sin tocar nada ni en el diseño de la base de datos ni en el codigo del formulario que ahora me da el problema, me devuelve todos los registros sin realizar el filtro.:confused:

¿A que se puede deber esto?

Gracias de antemano y un saludo a todos.

marcoszorrilla 16-09-2003 22:48:15

Ponlo así ver si resulta:
Código:

mstRecibosFacturas.Filter:='NumFactura='+quotedstr(msqAlbaranes['numfactura']);
mstRecibosFacturas.Filtered:=true;

Lo normal es primero armar el filtro y luego activarlo.

Un Saludo.

vichovi 16-09-2003 23:05:56

ya lo he probado antes y eso tampoco va.

Incluso he actualizado el ZEOS de la version 5.3.0 a la 5.5.0 y nada.

Julià T. 17-09-2003 02:47:35

no sé con los componentes de zeos pero en el resto, para poder aplicar el filter (Filtered:=true;) antes se debe abrir la "tabla/consulta"

vichovi 17-09-2003 22:33:33

Hasta ahora andaba bien aplicando el filtro y posteriormente abriendo la tabla, pero en vista de que el filtro no era efectivo tambien probe a abrir la tabla antes y nada de nada.

vichovi 22-09-2003 21:20:25

Al final he tenido que optar por sustituir todos los filtros por Query's con consultas en SQL.

Lo he intentado todo pero con los filtros no hay manera.

Un saludo y gracias a todos.

Viet 22-09-2003 22:14:35

Vichovi:

Yo trabajo con Zeoz 5.5 y hago el filtro como te ha dicho Marc y no tengo ningun problema... el filtered en True lo debes hacer despues de abrir la tabla.... Esto lo que hace es rearmar el SQL que tengas hecho con una nueva restriccion en el Where....


Pero es mucho mas eficiente hacerlo rearmando el SQL de tu Query a mano con:

Código:

Query1.sql.text := 'select * from table1';
Query1.sql.add('where campox='+ tuVariabledeFiltro)

como seguramente lo has hecho.....

Saludos

Viet 30-09-2003 17:09:04

He estado probando esto y me di cuenta que yo siempre seteo la propiedad doSqlFilter en true.

Perdon por obviar esto.

:o

vichovi 02-10-2003 02:24:57

Lo probare, Gracias Viet (y a todos :-))


La franja horaria es GMT +2. Ahora son las 10:29:59.

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