Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
Question Comparación de Fechas

Hola foristas,

He tratado de comparar las siguientes fechas:

el componente dateTimePciker1 y el campo de una base de datos en interbase que fue declarado como DATE y al momento de compararlo hago lo siguiente:

if ClienDataSet.CampoFecha.AsDateTime>=DateTimePciker1.Date then ejecute

No entiendo ¿que pasa? y ¿por qué?

Gracias por su atención.....
Responder Con Cita
  #2  
Antiguo 17-06-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
¿cuál es el problema?... me parece que te faltó explicar algo, o verdaderamente el viernes ya me cayó pesado
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 17-06-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
Comparación de Fechas

La comparación:

if ClienDataSet.CampoFecha.AsDateTime>=DateTimePciker1.Date then ejecute

El ejecute siempre se cumple aunque el CampoFecha.AsDateTime sea menor que el DateTimePicker1.Date, es decir, tengo fechas menores en la BD que la suministrada por el DateTimePciker1.date y siempre ejecuta el Then.

Disculpas por mi falta práctica para exponer los problemas.
Responder Con Cita
  #4  
Antiguo 17-06-2005
kukinn kukinn is offline
Miembro
 
Registrado: may 2003
Posts: 21
Poder: 0
kukinn Va por buen camino
Hola,

Te encuenta que DateTimePciker1.Date está cogiendo la fecha+la hora. Para que compare solo la fecha debes de poner trunc(DateTimePciker1.Date)
Responder Con Cita
  #5  
Antiguo 17-06-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por kukinn
Te encuenta que DateTimePciker1.Date está cogiendo la fecha+la hora. Para que compare solo la fecha debes de poner trunc(DateTimePciker1.Date)
Si esta en modo fecha, solo toma la fecha. Y en el caso que tome fecha y hora, igualmente tendría que evaluarlo bien.

Cita:
Empezado por sierraja
El ejecute siempre se cumple aunque el CampoFecha.AsDateTime sea menor que el DateTimePicker1.Date, es decir, tengo fechas menores en la BD que la suministrada por el DateTimePciker1.date y siempre ejecuta el Then.
Dudo que se comparen mal las fechas... ¿Estas recorriendo el DataSet o estas preguntando siempre el por el mismo registro?

Agrega en la línea anterior a la evaluación:
Código Delphi [-]
  OutputDebugString(PChar(DateTimeToStr(ClienDataSet.CampoFecha.AsDateTime) +
                    ' >= ' +
                    DateTimeToStr(DateTimePciker1.Date)))
y fíjate en {View \ Debug Windows \ Event Log} si estas en lo cierto.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 17-06-2005 a las 22:09:39.
Responder Con Cita
  #6  
Antiguo 19-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Puedes probar de alguna de estas dos formas

Código Delphi [-]
if ClienDataSet.CampoFecha.AsFloat >=DateTimePciker1.Date then ejecute

o

Código Delphi [-]
if ClienDataSet.CampoFecha.AsDateTime >=DateTimePciker1.DateTime then ejecute
__________________
[Crandel]
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 08:13:57.


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