Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Access, fechas en controles calculados

Estas en el tema de Access, fechas en controles calculados en el foro de Bases de Datos General en Foros del Web. Hola amigos del foro. Acudo en busca de ayuda sobre un control de cuadro de texto calculado en un formulario. Este control depende de un ...
  #1 (permalink)  
Antiguo 14/04/2002, 22:57
 
Fecha de Ingreso: abril-2002
Mensajes: 3
Antigüedad: 22 años
Puntos: 0
Access, fechas en controles calculados

Hola amigos del foro.

Acudo en busca de ayuda sobre un control de cuadro de texto calculado en un formulario. Este control depende de un campo de tipo Fecha/Hora de una tabla y en él se almacena la fecha de nacimiento (Fecha_Nac) de un animal. Pues bien, deseo en el pie de página del formulario, basado en ese campo, mostrar un cuadro de texto que me calcule la edad del animal a la fecha actual del sistema, en el formato años, meses, días.

Me explico: si la fecha actual es 14 de abril de 2002 y el animal nació el 31 de enero de 1999, el control debe mostrar el texto:

3 años, 2 meses, 14 días

Me hago un lío con las funciones de fecha incorporadas en el generador de expresiones del origen del control en Access 97 y si obtengo los años, no saco los meses y los días, y así...

Agradezco desde ahora la oportuna colaboración incluyendo la expresión que me permita alcanzar mi cometido. Aprovecho para que si alguien sabe de un tutorial o página web en donde expliquen en detalle la sintaxis de todas estas funciones incluidas en Access, me las comparta.

Maose
  #2 (permalink)  
Antiguo 15/04/2002, 08:05
 
Fecha de Ingreso: febrero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Access, fechas en controles calculados

Que version de Access tienes
  #3 (permalink)  
Antiguo 15/04/2002, 08:18
 
Fecha de Ingreso: abril-2002
Mensajes: 3
Antigüedad: 22 años
Puntos: 0
Re: Access, fechas en controles calculados

La versión de Access que viene con Office 97.
  #4 (permalink)  
Antiguo 15/04/2002, 09:05
 
Fecha de Ingreso: febrero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Access, fechas en controles calculados

Ya, primero que nada, tienes que tener los campor F_Nac, y otro F_Actual, bueno hay dos formas de hacerlo...
Partamos de la Base de que la resta de fechas es f_actual - f_nacimiento:

1.- crear un campo independiente (AÑO)y en cuadro "Origen del Control" colocar esto :
=(AÑO(F_ACTUAL)-AÑO(F_NAC))

2.- crear un campo independiente (MES)y en cuadro "Origen del Control" colocar esto :
=(MES(F_ACTUAL)-MES(F_NAC))

3.- crear un campo independiente (DIA)y en cuadro "Origen del Control" colocar esto :
=(Día(F_ACTUAL)-Día(F_NAC))

4.- Una vez que tengas esto listo, crea un ultimo cuadro controlado, y junta los tes campo :
=([año] &',&[mes]&','&[dia]

y eso es todo,

la otra forma es hacerlo todo junto en un solo campo...

Prueba.

Ahora tengo el ejemplo en access 97 donde lo envio?
  #5 (permalink)  
Antiguo 16/04/2002, 16:57
 
Fecha de Ingreso: abril-2002
Mensajes: 3
Antigüedad: 22 años
Puntos: 0
Re: Access, fechas en controles calculados

Hola. Gracias por tu valiosa ayuda.

Seguí los pasos que indicaste y efectivamente funciona, aunque con un error que no sé cómo solventar. Veamos:

Asumiendo 16 ABR 02 como Fecha actual (FA) y FN como Fecha de nacimiento,

Si FN es || Muestra la edad
17 mar 00 || 2 años, 1 meses, -1 días
10 mar 00 || 2 años, 1 meses, 6 días
15 abr 00 || 2 años, 0 meses, 1 días
16 abr 00 || 2 años, 0 meses, 0 días
17 abr 00 || 2 años, 0 meses, -1 días
15 jun 00 || 2 años, -2 meses, 1 días
26 jun 00 || 2 años, -2 meses, -10 días

De lo que se deduce que si el mes o el día de FN es superior al mes o el día de FA la expresión aproxima al año o mes siguiente y luego resta de modo que la última línea se tendría que interpretar como 1 año 9 meses y 20 días. ¿Qué me sugieres para corregir esto?

Nuevamente gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 06:21.