Campos calculados

Hola, tengo una base de datos en la que existe un campo con la fecha de nacimiento y me interesaría crear un campo calculado para conocer la edad. No consigo dar con la expresión para colocar en el campo calculado. Si alguien pudiera ayudarme...
Respuesta
1
Depende dijo pepito...
Cada base de datos (e incluso desde los front-end) se puede programar, por ejemplo, si utiliza VB puede colocar la edad (en años) con la función DateDiff. De la siguiente manera
Datediff("y", fecha1, fecha2)
Donde fecha1 es la fecha obtenida desde la base de datos, y fecha2 es la fecha actual. Tanto fecha1 y fecha2 son de tipo date.
Ahora, si fuera en una base de datos (por ejemplo postgreSQL), se puede hacer una "resta", de la fecha actual menos la fecha inicial, y sacando la parte del año con la función part_date
Si no estoy mal, es que no lo uso desde hace ratos, con MS SQL, se puede hacer una resta también:
select now() - fecha_nac as edad from usuarios
Asumiendo que la tabla se llama usuarios y mi campo de fecha de nacimiento se llama fecha_nac, ahora en el programa solo hay que sacar los años al campo edad(para eso la función year), aunque también se pueden sacar los años directamente desde SQL, solo que ahora no recuerdo que función es (con el help de SQL puede resolverlo, busque en las funciones de fecha/hora)
Julius
Por fin lo he encontrado, el truco está en colocar "aaaa" dentro de la expresión. De todas formas los años me los calcula restando el año actual el año de la fecha nacimiento es decir, que aunque no los haya cumplido aún no hace distinciones. En fin, algo es algo. Muchas gracias por todo y hasta pronto.
¿Hola Julius, qué tal?
Ya lo siento por el nivel de inutilidad es infinito, je je. Ni siquiera con tu ayuda a sido posible. La base de datos está con Access2000 por lo que creo que utiliza VB que supongo será Visual Basic. De todas formas lo que hago es escribir en el espacio campo la siguiente expresión: Datediff("y",["Fecha Nacimiento"], Fecha()) y no hay manera. Me sale un mensaje diciendo que la sintaxis no es correcta. Ayuda por favooooooooooorrrrrrrrrrrrrr. Gracias de todos modos y perdona por las molestias.
DifFecha("d",[fecha_nac], Ahora())
Acabo de probar esta expresión en Access97(en español) y me funcionó bien, para que la función calcule los años hay que colocar en vez de la letra "d" una letra para indicar diferencia en año.. lamentablemente no tengo todo el suite instalado de Office y no pude ver que letra es... pero si tiene la ayuda de Access consulte la función DIFFECHA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas