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 |
Revisa la función IncYear que se encuentra en la unidad DateUtils y la cual se usa, asi:
Si quieres mas años tendras que pasarle el segundo parametro, asi, por ejemplo:
Espero te sirva ;). |
mucha gracias jhonny por tu informacion, no pude resolver con el codigo que me dige, pero si algo como esto
Código:
var Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField); |
Cita:
|
estoy usando Delphi 7
|
Cita:
|
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
|
Tiene razón jhonny, yo hago esta prueba con Delphi 7 utilizando variables en vez de campos y funciona perfectamente.
Un Saludo. |
gracias nuevamente por darme luz en la oscuridad, cuando me dice que tengo que agregar la unidad, aque te esta refiriendo
Cita:
|
Checa en la unidad donde quieres hacer la suma de fechas, debes tener una sección llamada implementation:
Saludos... |
Cita:
Entonces cuando te digo que necesitas agregar la unidad DateUtils, quiere decir que a todas esas unidades que vez allí relacionadas, debes agregarle la DateUtils, lo cual quedaria asi:
Espero te sirva ;). Nota: Parece que maeyanes se a adelantado :). |
muy buen dia a todos y mil gracias nuevamente por toda la atencion prestada.
jhonny ya hice la declaracion, pero me dice que la fecha_renovacion y proxima_fecha_renovar no estan declarada, ya esta eso me dice que tengo que desclararla, me gustaria que me siga arrojando un poco mas de luz y es posible. mil gracias |
Donde las tienes declaradas, eso solo lo sabes vos, ya que vos mismo haz dicho que son unos campos de la base de datos, entonces, solo basta con que coloques alli dichos campos, en lugar de las variables que te mostre como ejemplo ;).
|
Lo que creo que falta aquí es el EncodeDate
Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField); Código:
procedure TFrm_GiftShop.Tbl_GiftShopFecha_RenovacionChange(Sender: TField); |
Cita:
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. |
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 |
Pusiste en el uses de la unidad la referencia a la unidad DateUtils?
Con esa unidad solo tienes que hacer:
Saludos... |
La franja horaria es GMT +2. Ahora son las 17:11:45. |
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