Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   filtrar por fecha (https://www.clubdelphi.com/foros/showthread.php?t=94237)

shinopeat87 15-10-2019 05:47:32

filtrar por fecha
 
hola amigos como estan quisiera pedirles su ayuda, he creado un formlistadoventas donde muestro el listado de todas las ventas que he guardado en la base de datos mysql medidante un dbgrid1ventas enlazado con su respectivo datasource1...lo que quier hacer es tener dos filtros, uno por cliente de venta (que me funciona correctamente) y otro por fecha de venta el cual no me funciona o no me esta filtrando ya que no me sale ningun error. les muestro mi codigo, aclaro que quiero hacerlo mediante un datetimepicker en el evento onclick de un boton1 y que tengo los FDquery para cada consulta...


Código Delphi [-]
procedure TFormLISTADOVENTAS.btn1Click(Sender: TObject);
begin
    with ModuloDatos.FDQueryfiltrofechaventa do
          begin
           SQL.Clear;
           SQL.Add ('SELECT *FROM ventas WHERE fecha_venta = :FECHA ');
           params.ParamByName('FECHA').AsDatetime := dtp1.DateTime;
           Open();
          end;
    dbgrd1ventas.DataSource :=  ModuloDatos.DataSource1;
end;

podrian decirme que es lo que le falta a mi codigo porque no me filtra y tampoco me tira error.

Casimiro Notevi 15-10-2019 10:01:01

¿El campo de la tabla es datetime?
En ese caso tendrás almacenado fecha y hora, por lo que tendrás que hacer un cast(el campo de la tabla) para tomar solamente la fecha y no la hora, o también puedes hacer el where entre las 00:00:00 y las 23:59:59 por ejemplo.

shinopeat87 15-10-2019 15:33:00

solucionado
 
tenias razon amigo te agradezco tu respuesta, lo que hice fue poner como DATE el dato de fecha en la tabla y en la consulta datetimepicker.date y solo me filtro la fecha que era lo que buscaba..

ahora necesito otra consulta: como hago para que el datetimepicker se actualize automaticamente?, lo pregunto porque la fecha que me muestra es la fecha de ayer que fue cuando lo agregue. "14\10\2019".

Casimiro Notevi 15-10-2019 15:34:31

Mira nuestra guía de estilo, saludos.

Arturo.Molina 16-10-2019 08:26:53

Cita:

Empezado por shinopeat87 (Mensaje 533962)
tenias razon amigo te agradezco tu respuesta, lo que hice fue poner como DATE el dato de fecha en la tabla y en la consulta datetimepicker.date y solo me filtro la fecha que era lo que buscaba..

ahora necesito otra consulta: como hago para que el datetimepicker se actualize automaticamente?, lo pregunto porque la fecha que me muestra es la fecha de ayer que fue cuando lo agregue. "14\10\2019".


Buenos días,
como bien te ha comentado el compañero Casimiro, según aparece en nuestra guía de estilo, no debrías incluir una nueva pregunta en un hilo abierto.

Dicho esto, y sin que sirva de precedente, te contesto.

Para actualizar el DateTimePicker, en el OnShow o el OnActivate del formulario que lo contiene, puedes agregar la línea:

Código Delphi [-]
TuDateTimePicker.Date := Date();

Así, cada vez que lo muestres tendrás la fecha actualizada al día actual.

Saludos


La franja horaria es GMT +2. Ahora son las 08:53:14.

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