Calcular la edad sin decimales en una consulta y en un formulario de Access

Soy una profe de un cole de educación especial e intento montar una base de datos solita, y me estoy volviendo loca.
Mi duda es: como calcular la edad a partir de la fecha de nacimiento.

Yo tengo una tabla con los datos principales de los alumnos.
Después he creado un formulario de esta tabla para poder introducir mejor los datos.

En dicha tabla tengo los campos fechanacimiento y edad. Evidentemente me gustaría que el valor del campo edad se calculara solo.

He probado vuestras indicaciones del blog y me surgen dos problemas:
1. Me calcula la edad, pero con decimales
2. como haga que luego para mostrar dicho campo en el formulario.

No se si me explico. Agradecería mucho vuestra ayuda. Muchas gracias. Un saludo.

Para calcular la edad en una consulta de Access y que no salgan decimales podemos recurrir a la función Ent, que muestra la parte entera del cálculo indicado entre paréntesis. Para que en el cálculo de la edad solo veamos la parte entera creamos el campo calculado Edad mediante la siguiente expresión:

Edad:Ent(Fecha()-[fecha nacimiento])/365)

De esta forma calculamos la diferencia entre la fecha actual y la fecha de nacimiento y lo dividimos por 365 para pasarlo a años. Incluimos la expresión anterior dentro de los paréntesis de la función entero Ent para solo obtener la parte entera de dicho cálculo, que sería la edad del alumno.



Si queremos hacer este mismo cálculo en un formulario de Access, accedemos a la vista diseño de dicho formulario y extendemos un cuadro de texto.







Escribimos el nombre Edad en la etiqueta situada a la izquierda, en nuestro ejemplo donde pone Texto 7. En el cuadro independiente, situado a la derecha, es donde debemos introducir el cálculo. Como estamos trabajando en un formulario, debemos comenzar el cálculo mediante el signo igual =. De esta forma indicamos a Access que el cuadro independiente va a contener un cálculo o una función.
Escribimos la misma expresión que antes hemos explicado en la consulta, pero precedida del signo igual:

= Ent((Fecha()-[fecha nacimiento])/365)

En la vista Formulario veríamos la edad, sin decimales, de cada alumno:

Otra manera de corregir este problema es utilizando la función Diffecha

2 comentarios:

Anónimo dijo...

También se podría utilizar la funcion DifFecha con un parámetro que indique el resultado en años (aaaa)
DifFecha(aaaa;Fecha();Fecha_nacimiento)

Aladino dijo...

Muchas gracias por tu sugerencia.
Hemos publicado una nota con tu observación en este artículo

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Top WordPress Themes