Imprimir página | Cerrar ventana

Calculo de fechas

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86798
Fecha de impresión: 27/Marzo/2026 a las 02:25


Tema: Calculo de fechas
Publicado por: EduardoPlantagenet
Asunto: Calculo de fechas
Fecha de publicación: 17/Octubre/2023 a las 01:00
Hola a todos, quiero comentarles que en mi lugar de trabajo estoy haciendo una base de datos para controlar muchos datos de personas, entre uno de ellos, es un calculo a futuro basado en: Fecha Inicio + Cantidad de años = fecha fin, el detalle es que yo hice el calculo en la base de datos de Access de esta manera: [Fecha_ini]+[Años]*365.25,  y me realiza el calculo, pero en el campo "Años" de mi formulario no me permite calcular por ejemplo 12,6 (Doce años , seis meses), ya verifique el formato y demas pero no se como puedo hacer que calcule los meses?

-------------
EduarPlantagenet



Respuestas:
Publicado por: emiliove
Fecha de publicación: 17/Octubre/2023 a las 02:37
Puedes intentarlo con DateAdd mirar  https://www.techonthenet.com/access/functions/date/dateadd.php" rel="nofollow - https://www.techonthenet.com/access/functions/date/dateadd.php
Es probable que tengas que poner el año y los meses por separado.

Saludos.


Publicado por: Mihura
Fecha de publicación: 17/Octubre/2023 a las 09:16
Hola Eduardo,

Por lo que he leído tanto en este post, como en el otro que tienes abierto, tienes una base muy justita de Access. Te recomendaría que hicieras alguno de los cursos que hay sobre VBA, te ayudarían a obtener mejores resultados en mucho menos tiempo.

En este foro hay uno muy bueno, el curso de Eduardo Olaz, lo puedes conseguir en el subforo de cursos.

Un saludo.


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: EduardoPlantagenet
Fecha de publicación: 18/Octubre/2023 a las 02:37
Hola y muchas gracias por tomarse la molestia de leer mis dudas....

De hecho si ya intente con la funcion DateAdd y creeme he buscado, video tutoriales y demas, para no solo venir a molestar, yo se que tienen muchas cosas importantes que hacer, pero la verdad es que, practicamente me funciona lo que escribi en este post, el detalle es que en el formulario, en el campo años, cuando coloco por ejemplo 7,6 años, seis meses, me redondea a 8 años, y siento que ese es el mayor problema que tengo, pero voy a revisar de nuevo, la funcion que me dejo arriba (y por cierto, ya tengo los tutoriales que me mencionan, ya los baje), gracias por su apoyo....


-------------
EduarPlantagenet


Publicado por: Mihura
Fecha de publicación: 18/Octubre/2023 a las 09:00
Tienes un problema de concepto, que no tiene nada que ver con la 'informática'.

Los años son números enteros, no tienen decimales. Tienes que calcular la diferencia entre fechas la unidad menor que vayas a tratar: años -> meses -> dias -> horas -> minutos -> segundos, y una vez que la tengas traducirlo a las unidades mayores que quieras mostrar.

Por cierto, mucho cuidado con los decimales (los años tienen 12 meses no 10):
 - 0.5 años equivaldría a 180 días o seis meses
 - 0.6 años serían 216 días, es decir 7 meses y un poquito
(*) todo esto con meses de 30 días.

Como ves, todo esto no tiene nada que ver con la informática y menos aún con Access, es una cuestión de base de criterios de trabajo.

Hazlo primero en papel 'a mano' y después tradúcelo al lenguaje/entorno que estés usando.

Un saludo.


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: EduardoPlantagenet
Fecha de publicación: 19/Octubre/2023 a las 02:37
Hola buen dia, gracias por tomar importancia a mi post,

Te comento que hice esto:

Dim FirstDate As Date
Dim IntervalType As String
Dim Number As Integer
Dim Fin

IntervalType = "yyyy"
FirstDate = Fecha_Ini
Number = Años

Msg = DateAdd(IntervalType, Number, FirstDate)
 
Fecha_Fin= Fin

Y me sale bastante bien el calculo, (No perfecto claro), pero se acerca al dato real, es decir tiende a variar en 4 dias, jajaja eso es lo que me sucede, sin embargo creo que con eso me basta por el momento te agradezco y no se si es mucho abuzo de mi parte pero, quisiera comentarte en Mensaje PV, que es lo que estoy haciendo, para que tengas una idea de que estoy tratando de hacer.... si no yo entiendo y gracias, te pregunto eso porque me hace falta un buen de trabajo, aunque la mayoria son detalles por asi decirlo...

Saludos


-------------
EduarPlantagenet


Publicado por: Mihura
Fecha de publicación: 19/Octubre/2023 a las 10:38
Para las dudas que tengas abre hilo en el foro, no realizamos 'asistencias' por privado.
Un saludo.


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: trple XXX
Fecha de publicación: 14/Noviembre/2023 a las 15:03
Lea   este  documento   es  muy  importante   (FECHAS)


https://docs.google.com/document/d/1RZtYib6WZJV1t5EDV5Jq5RcqNWhQkO8A/edit?usp=drive_link&ouid=112988415939190994830&rtpof=true&sd=true" rel="nofollow - https://docs.google.com/document/d/1RZtYib6WZJV1t5EDV5Jq5RcqNWhQkO8A/edit?usp=drive_link&ouid=112988415939190994830&rtpof=true&sd=true
     No  se    donde  lo  encontre  pero  es  muy  interesante;  gracias   a   su autor



Imprimir página | Cerrar ventana