Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-09-2007
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Question como sumar una fecha

Hola como esta?

Tengo una tabla llamada Hoteles, en la cual tengo dos campos de fecha
Fecha_Renovacion y proxima_fecha_renovacion, estos campos son tipo Date/Time y estoy utilizando Access lo que quiero hacer es lo siguiente:

cuando yo digite una fecha en el campo Fecha_Renovacion, en el campo Proxima_Fecha_Renovacion me muetre un año depues de la fecha de renovacion.

Ej. Fecha_Renovacion = 14/11/2007
Proxima_Fecha_Renovacion 14/11/2008, esto es porque la renovaciones se hacen anual.

mucha gracias
Responder Con Cita
  #2  
Antiguo 05-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Revisa la función IncYear que se encuentra en la unidad DateUtils y la cual se usa, asi:

Código Delphi [-]
//Esto te devolvera un año mas adelante que Fecha_Renovacion
ProximaFechaRenovacion := IncYear(Fecha_Renovacion);

Si quieres mas años tendras que pasarle el segundo parametro, asi, por ejemplo:

Código Delphi [-]
//Esto te devolvera dos años mas adelante que Fecha_Renovacion
ProximaFechaRenovacion := IncYear(Fecha_Renovacion, 2);

Espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 05-09-2007
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
mucha gracias jhonny por tu informacion, no pude resolver con el codigo que me dige, pero si algo como esto

Código:
var
  Frm_GiftShop: TFrm_GiftShop;
  Fecha_soporte : Tdate;
  DD, MM, AA   : word;
Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField);
begin
   // Fecha_Soporte := Tbl_GiftShopFecha_Renovacion.Value;
    DecodeDate(Fecha_Soporte, DD, MM, AA);
    AA := AA + 1;
    Tbl_GiftShopFecha_Pendiente_Renovacion.Value := Fecha_Soporte;
end;
pero resulta cuando instroduco la fecha en el campo fecha_renovacion, en la proxima fecha a renovar siempre sale la misma no se que estoy haciendo mal.
Responder Con Cita
  #4  
Antiguo 05-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por esimon Ver Mensaje
mucha gracias jhonny por tu informacion, no pude resolver con el codigo que me dige, pero si algo como esto
Con que Delphi estas trabajando y porque no te funciona, sale algun error?, deberia funcionarte, yo lo he probado con D6.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 05-09-2007
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
estoy usando Delphi 7
Responder Con Cita
  #6  
Antiguo 05-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por esimon Ver Mensaje
estoy usando Delphi 7
Bueno, entonces debe funcionarte, recuerda que debes agregar la unidad DateUtils.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 05-09-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Deberia funcionar, de hecho yo trabajo con incmonth en lugar de incyear y va de maravillas asi como te dice jhonny danos info sobre porq no te funciona
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 06-09-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.744
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Lo que creo que falta aquí es el EncodeDate

Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField);
var dd,mm,aa : word;
begin
   // Fecha_Soporte := Tbl_GiftShopFecha_Renovacion.Value;
    DecodeDate(Fecha_Soporte, DD, MM, AA);
    AA := AA + 1;
    Fecha_Soporte := EncodeDate(DD, MM, AA);
    Tbl_GiftShopFecha_Pendiente_Renovacion.Value := Fecha_Soporte;
end;
Tambien podría ser :

Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField);
var dd,mm,aa : word;
begin
   // Fecha_Soporte := Tbl_GiftShopFecha_Renovacion.Value;
    DecodeDate(Fecha_Soporte, DD, MM, AA);
    Fecha_Soporte := EncodeDate(DD, MM, AA + 1);
    Tbl_GiftShopFecha_Pendiente_Renovacion.Value := Fecha_Soporte;
end;
Responder Con Cita
  #9  
Antiguo 06-09-2007
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Lo que creo que falta aquí es el EncodeDate

Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField);
var dd,mm,aa : word;
begin
   // Fecha_Soporte := Tbl_GiftShopFecha_Renovacion.Value;
    DecodeDate(Fecha_Soporte, DD, MM, AA);
    AA := AA + 1;
    Fecha_Soporte := EncodeDate(DD, MM, AA);
    Tbl_GiftShopFecha_Pendiente_Renovacion.Value := Fecha_Soporte;
end;
Tambien podría ser :

Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField);
var dd,mm,aa : word;
begin
   // Fecha_Soporte := Tbl_GiftShopFecha_Renovacion.Value;
    DecodeDate(Fecha_Soporte, DD, MM, AA);
    Fecha_Soporte := EncodeDate(DD, MM, AA + 1);
    Tbl_GiftShopFecha_Pendiente_Renovacion.Value := Fecha_Soporte;
end;
no puedo cansarme de darles las gracias a todos por ayudarme a resolver este problema.

duiliosola, estuve provando con la runtida que me enviaste pero me esta sumando el dia no el año, solo quiero sumarle uno al año.
Responder Con Cita
  #10  
Antiguo 06-09-2007
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
tengo que agradecele a todos los que me ayudaron por la experician que expresan se puede decir que es dudoso que yo pueda ayudarlo pero nadie sabe para mi seria mas que un placer poder ayudarlo en algo y a ti jhonny que no puede usar la rutina que me enviaste pero voy a tratar de ver como puedo usarla para aprendermela y aqui pongo la rutina que use, por si otro tiene la misma inquitud que yo.

[code]
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField);
begin
Fecha_Soporte := Tbl_GiftShopFecha_Renovacion.Value;
DecodeDate(Fecha_Soporte, AA, MM, DD);
AA := AA + 1;
Fecha_Soporte := EncodeDate(AA, MM, DD);
Tbl_GiftShopFecha_Pendiente_Renovacion.Value := Fecha_Soporte;
end;
[/codo]
es la misma que me envio duiliodola, la unica diferencia esta en la decodificacion de la fecha.

mil gracias a todos sigan pasandola bien
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
sumar dias una fecha dada Goyo Varios 3 25-05-2007 02:23:39
Sumar dias a una fecha inicial en delphi bellota Varios 4 06-06-2006 16:42:40
Sumar solo años a una fecha YaninaGenia Varios 3 03-10-2005 21:45:26
SUmar dias a una fecha raffagia Varios 1 04-10-2004 18:28:13
Sumar Dias a una fecha? danytorres SQL 1 16-01-2004 05:04:15


La franja horaria es GMT +2. Ahora son las 08:36:28.


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