Filtrar Informe Access por rango de edad

¿Necesito filtrar un informe por rango de edad >10 y < 15 Como puedo hacerlo?

3 respuestas

Respuesta
1

¿De qué datos se dispone para crear la condición?.

Si se dispone de la fecha de nacimiento, y se compara con la del día del calculo (normalmente el día actual) se puede obtener la edad real y ya se puede verificar si entra en el intervalo deseado.

Si Enrique, disponemos de Fecha de  nacimiento y también de un cuadro de texto "Edad"

Guardar un calculo basado en un concepto que varia solo tiene sentido si se referencia con respecto a algo.

El paso del tiempo es una variable que se incrementa por lo que la edad es también una variable y guardar esa diferencia (la edad en un momento puntual: el del calculo) solo tendría sentido si se utiliza como referencia a ser mayor o menor de edad.

Hay diferentes forma de calcular la edad y cualquiera de ellas es valida, una que es bastante fiel consiste en calcular la diferencia en años y verificar si el mes y día son superiores o inferiores a la referencia (la fecha de nacimiento), otros optan por utilizar cuatrienios para el calculo, en base a los años bisiestos y para compensar el día se promedian los años que pasan a tener 365 días + seis horas (hay quien lo considera poco exacto pues no es síncrono con los años bisiestos).

Un calculo síncrono (para puristas) consiste en calcular la diferencia en años y compensarlo con la diferencia en meses y días:

Edad = DateDiff("yyyy", [Fecha_NAc], Date) + (Format ( [Fecha_NAc], "mmdd") >= Format ( Date , "mmdd"))

Si se le añaden la hora y minutos , mas exacto aun:
Edad = DateDiff("yyyy", [Fecha_NAc], Date) + (Format ( [Fecha_NAc], "mmddhhnn") >= Format ( Now , "mmddhhnn"))

Lo ideal es hacer el calculo en una consulta en la que al calculo se le imponen las condiciones, consulta que seria el origen de datos para el informe.

La condición puede hacerse con un intervalo (edad mayor que 10 y edad menor que 15) o la función Between (edad Between 10 And 15).

Respuesta
1

Lo puedes hacer de mil formas. Sería conveniente que pusieras una imagen de tu formulario. Por ejemplo, si tengo la tabla Clientes con unas fechas de nacimiento

Desde un botón, pero podría ser en cualquier evento

Cuando lo pulso

No me saca a Ana, porque ya es "muy mayor"

El código del botón es

Private Sub Comando15_Click()
DoCmd. OpenReport "clientes", acPreview,, "Int((date()-fechanac)/365.24)between 10 and 15"
End Sub

Pero como te decía, se puede hacer de muchas formas.

Respuesta
1

Trate en lo posible hacer el filtro en la consulta origen de datos del reporte como le ecplican. Esto tiene incidencia cuando son bastantes datos ya que al activar el reporte se cargará toda la información y se filtrará al imprimir o en vista previa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas