Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   como filtrar por fecha (https://www.clubdelphi.com/foros/showthread.php?t=53182)

anubis 13-02-2008 08:45:41

como filtrar por fecha
 
Hola de nuevo. Ya estuve buscando en los post sobre este tema, pero no me sirve porque no me funciona.

he creado una miniaplicacion para probar pero nada, no funciona
Código Delphi [-]
ztable1.IndexFieldNames:='fechaactual';
//fecha:=ztable1.fieldbyname('fechaactual').asdatetime;
fecha:=strtodate('12/02/2008');
cadena:='Fechaactual ='+QuotedStr(datetostr(fecha));
showmessage(cadena);
ztable1.filter:=cadena;
ztable1.Filtered:=true;

uso componentes zeos porque funcionan bien, de momento y son gratuitos, como observacion he probado con otros campos de tipo integer y string y no he tenido problema pero con las fechas nada, no me muestran nada.

Lo que hice fue extraer la fecha de la tabla y la he vuelto a usar a ver si asi funcionaba.
Con un campo zquery de zeos lo mismo para las fechas no funciona.
No se que falla.

Otra ayudita?

gracias

Lepe 13-02-2008 10:23:25

Es un tema recurrente en los foros, usa parámetros:
Código Delphi [-]
qry.sql.text := ' select * from table where fecha = :mifecha';
qry.parambyname('mifecha').AsDAte := date();
qry.open;

Saludos

RONPABLO 13-02-2008 14:58:11

el problema con el parámetro en este caso es que en las xxTables no lo acepta, una buena forma de armar una cadena en Firebird es el formato aaaa-mm-dd (tengo entendido que es un formato estándar de la iso).

anubis 14-02-2008 06:00:56

Gracias a los dos. Las fechas no funcionan poniendo guiones.
Lepe, gracias de nuevo, tal y como lo has puesto funciona de maravilla, lo he probado con un dbgrid.
Un 'conceto', tengo el problema que lo quiero usar para filtrar una tabla y actualizar otra con codigo, sin dbgrib, pero, ya se que es facil, pero es la primera vez que uso querys y me lio.
Como puedo filtrar usando query para actualizar una tabla porque ando perdido aunque he mirado la cara oculta de delphi y otros.

gracias de nuevo

RONPABLO 14-02-2008 07:41:11

Cita:

Las fechas no funcionan poniendo guiones.
Es bien curioso porque en el formato aaaa-mm-dd es el único que me funciona correcto en cualquier configuración regional, y sobre linux o windows, por ejemplo '2008-02-21' me funciona correctamente en configuraciones regionales tales como dd/mm/yy ó dd/mm/yyyy o cualquier otra variación, hay que anotar que es detro del query por ejemplo

Código SQL [-]select * from citas where fecha > '2008-02-21'


en el filtro de una tabla yo lo pongo así:

Código Delphi [-]Tabla.Filter := 'fecha > ''2008-02-21'';

Lepe 14-02-2008 10:52:43

FB debe aceptar la fecha asi: fecha > '28.01.2008' formato dd/mm

Para actualizaciones:
Código Delphi [-]
qry.sql.text :=' update mitabla set campo1=valorNumerico, set campo2 = '+ quotedstr(valorcadena) + ' where claceprimaria = 3' ;
qry.execsql;


La franja horaria es GMT +2. Ahora son las 11:16:25.

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