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)
-   -   Problemas para filtrar por fecha (https://www.clubdelphi.com/foros/showthread.php?t=26901)

pyanqn 07-11-2005 12:56:32

Problemas para filtrar por fecha
 
Hola, les comento que estoy intentando hacer un filtrado por fecha, pero cuando lo hago por código o desde el inspector de objetos, la grilla que muestra los datos, no muestra absolutamente nada. i.e. el filtrado no se lleva a cabo.

Bien probe varias opciones, pero me es imposible filtrar por fecha. Alguna sugerencia...

PD la tabla que quiero filtrar tiene como clave: fecha+hora+clave_foranea.

pyanqn 07-11-2005 14:09:56

No será que para filtrar digamos por el día de hoy hay que indicar un rango, algo así como between ...?

pyanqn 07-11-2005 15:53:52

Aparentemente, el problema es el formato de la fecha, no el uso de = o like...
Alguien puede ayudarme?

Lepe 07-11-2005 16:04:12

Los filtros son bastante simplones, usa un Query simulando el filtro, te será más cómodo trabajar así.


PD: Recuerda que esto es un foro, en menos de 4 horas 3 mensajes. Lo normal para mí es entrar 1 vez al día ;).

saludos

pyanqn 07-11-2005 16:15:43

Ok. Pero la idea es hacer uso de la propiedad filter de la ZTable, no usar un Query.
Tal vez hay que usar alguna funcion especial para que el filtro sea aplicable?

pyanqn 07-11-2005 17:37:28

Me podrías indicar como puedo hacerlo usando un Query?

Lepe 08-11-2005 10:45:23

Veo que estas usando los componenentes Zeos, en ese caso:

Pon un datasource y un ZQuery en tu form, selecciona en la propiedad Connection tu ZConnection, en la propiedad SQL añades:
Código SQL [-]
select campo1, campo2 
from nombreTabla 
where campo1 = :prCampo1 and (campo2 bewteen :prFechaInicio and :prFechaFin)

Ahora he añadido 3 parámetros al query, tienes que darles un valor antes de abrir la consulta.

Código Delphi [-]
procedure Button1click(..);
begin
  zquery1.Close ; // nos aseguramos de cerrarla para cambiarle los parametros
  zquery1.Parambyname('prCampo1').AsString := edit1.text;
  zquery1.Parambyname('prFechaInicio').AsDate := dateTimePicker1.Date;
  zquery1.Parambyname('prFechaFin').AsDate := dateTimePicker2.Date;
  zquery.Open;
end;
En este caso estoy pidiendo un listado de la tabla entre ciertas fechas y que además el Campo1 sea igual a lo que hay en el edit1.text.

Por último, al grid lo enlazas con el Datasource, y el datasource con el ZQuery

Solo un detalle, has dicho que la clave primaria son esos campos, pero no queda claro si todo eso es un solo campo de la base de datos o bien son 3 campos distintos... es decir, si guardas las fechas en un campo, la hora en otro campo, etc.

Busca algún manual de SQL, hay muchos por la red y seguro que te ayudan mucho.

saludos.

pyanqn 08-11-2005 14:26:30

Tu ayuda me fue de mucha utilidad y logre lo que pretendia, pero aun no me explico por qué cuando uso componente IBX y seteo la propiedad filter y filtred funciona el filtro, pero cuando cambio a componentes Zeos no!

Bueno seguiré buscando una explicación. Pero creo que el problema no es el formato de la fecha


La franja horaria es GMT +2. Ahora son las 17:53:56.

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