Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 25-11-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
En este caso para obtener los datos entre dos fechas (desde...hasta) como comentas debes usar el operador BETWEEN e indicar las dos fechas.
Si segun la Base de Datos que utilices no puedes usarlo deberás usar algo como:

Código Delphi [-]
WHERE (FechaCre >= fecha1) and (FechaCre <= fecha2)



Seguramente es por eso y al estar usando un =, sólo te retornaría registros que coincidan exactamente con la fecha y hora.
Lo primero, yo te aconsejaría utilizar parámetros en la consulta, eso te evita todos los problemas relacionados con el formato del campo.

Código Delphi [-]
  ADOQuery1.SQL.Add('where FechaCre where Fecha between :fecha1 and :fecha2)');
  ADOQuery1.Parameters.ParamByName('fecha1').Value := DateTimePicker1.Date;
  ADOQuery1.Parameters.ParamByName('fecha2').Value := DateTimePicker2.Date;

Lo segundo es que resuelvas el tema de fecha o FechayHora en los valores. Asegúrate de enviar sólo valores de fecha (sin hora).
Gracias por la ayuda, fijate algo curioso que esta sucediendo.

Código Delphi [-]
procedure TFormConsulta.DateTimePicker1Change(Sender: TObject);
begin
   LabelDesde.Caption := DateToStr(DateTimePicker1.Date);
   ADOQuery1.Close;
   ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Add('Select * from Tiket');
   ADOQuery1.SQL.Add('where FechaCre between :Fecha1 and :Fecha2');
   ADOQuery1.Parameters.ParamByName('Fecha1').Value := DateTimePicker1.Date;
   ADOQuery1.Parameters.ParamByName('Fecha2').Value := DateTimePicker2.Date;
   ADOQuery1.Open;
end;

procedure TFormConsulta.DateTimePicker2Change(Sender: TObject);
begin
  LabelHasta.Caption := DateToStr(DateTimePicker2.Date);
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * from Tiket');
  ADOQuery1.SQL.Add('where FechaCre between :Fecha1 and :Fecha2');
  ADOQuery1.Parameters.ParamByName('Fecha1').Value := DateTimePicker1.Date;
  ADOQuery1.Parameters.ParamByName('Fecha2').Value := DateTimePicker2.Date;
  ADOQuery1.Open;
 end;


Código SQL [-]
2022-11-24 22:53:00.000
2022-11-25 21:58:00.000
2022-11-26 21:58:00.000
2022-11-27 21:58:00.000
2022-11-28 21:58:00.000

Haciéndolo de esta forma cuando le pongo la fecha desde 24-11-2022 hasta el 24-11-2022 debería mostrarme la operaciones en esta fecha pero no lo hace, es decir no me retorna ningún valor y así siguientemente si lo hago con las otras fecha del 25 hasta el 25 y del 26 hasta el 26. pero si pongo desde 24 hasta el 25 me muestra las operaciones del día 24 y si lo hago desde 25 hasta 26 me muestra la operaciones del día 25.
Pero si lo hago desde 24-11-2022 hasta el 25-11-2022
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Números impares desde 1 hasta 1000 Daniel2622 Lazarus, FreePascal, Kylix, etc. 29 25-04-2017 03:55:58
Problema con consulta fecha desde hasta access delphi 7 Yensis22 SQL 2 26-08-2008 19:05:34
Consulta Desde->Hasta Luis M. Firebird e Interbase 6 30-07-2008 19:40:34
calcular el nro de dias, desde una fecha hasta la actual. abraham SQL 13 01-08-2007 17:36:42
Reporte (Desde : Hasta) magnu9 SQL 9 16-11-2006 18:36:19


La franja horaria es GMT +2. Ahora son las 08:50:38.


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
Copyright 1996-2007 Club Delphi