Access - intervalo de edades de los registros

   
Vista:

intervalo de edades de los registros

Publicado por angel (1 intervención) el 26/07/2015 20:56:58
Hola, en una base de datos con registros de personas con edades comprendidas desde 0 hasta mas de 65 años, me gustaría hacer una consulta que me saque 4 ó 5 intervalos de edades, por ejemplo; de 0 a 5 años cuantos hay, de 6 a 18, de 19 a 30, de 31 50 y de 50 a 65 (por ejemplo), con lo que tendría una relación de usuarios con sus edades por intervalos.

Si alguien me puede ayudar por favor
Gracias y saldos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

intervalo de edades de los registros

Publicado por Enrique Heliodoro (1663 intervenciones) el 26/07/2015 22:53:05
Con que precisión se desea obtener la edad? (días, meses, años....)

Siempre será una consulta que exceptuado que se calcule con respecto a una fecha fija, los resultados serán volátiles (un día que pase y puede haber cambios significativos).

Quizás una consulta complique mas de lo necesario los cálculos, una función de dominio (DCount) que cuente a los sujetos que cumplen con el intervalo, seria una opción nada despreciable.

Una de las formulas mas sencillas consiste en dividir el resultado de restarle a la fecha actual la de nacimiento, el resultado serán días y si estos se dividen entre 365.25 (para tener en cuenta los bisiestos) tendíamos la edad (en años).

La formula simplificada seria algo como:
Resultado = (Fecha_Actual - fecha_de_nacimiento) \365.25 (el divisor \, devuelve solo la parte entera)

Ya con esa cifra los intervalos se calcularían en base a:
(resultado <=5) ===> pequeñajos
(resultado entre 6 y 18) ==> los conflictivos
(resultado entre 19 y 30) ==> los peleones
(resultado entre 31 y 50) ==> los maduros
(resultado entre 51 y 65) ==> los asentados
(resultado > 65) ==> los controladores de obras publicas

Una de las supuestas funciones:

Peleones = DCount("*", "[la tabla]", "(Date() - [Fecha_Nac]) / 365.25 Between 19 and 30")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar