Contar registros de un campo con criterios en un Informe

Inconveniente:

Estoy haciendo una DB en Access 2013, para almacenar información de los residentes de mi conjunto de vivienda. Mi DB tiene 3 tablas

Tabla 1: Residentes (Campos: Id_Residente, Casa, Nombres, Apellidos, Identificación, Genero; FechaNacimiento, Edad... Etc)

Tabla 2: Casa (campos: Id_Casa, Numero_Casa)

Tabla 3: Genero (Campos: Id_Genero, Genero)

He creado un formulario basado en la tabla "Residentes" para capturar la información de cada uno de los residentes; el campo "Genero" lo deje como un cuadro combinado para que solo me de las dos opciones guardadas en la tabla "Genero", como son FEMENINO Y MASCULINO.

PROBLEMA:

Hice un Informe basado en una consulta "ConsultEdades" para que me muestre los residentes en un rango de edades que yo digite, pero quiero que al final me muestre cuantos son FEMENINOS Y CUANTOS MASCULINOS. He utilizado la función DCount en el pie del informe pero no me funciona. No se que otra opción tengo de hacer esto, pues la verdad no soy muy experto en el tema. La funcion la estoy utilizando asi:

=DCont("[Genero]";"[ConsultEdades]";"Genero = 'Femenino'")

Inicialmente la información que me traía era la cantidad total de residentes que me arrojaba la consulta pero ahora me sale #Error.

De antemano agradezco mucho la ayuda con este tema,

! Un abrazo desde Colombia ¡

Atte:

Lucho

Respuesta
2

El problema lo tienes, casi seguro, en que el cuadro combinado guarda el id (1, 2) y no el género (masculino, femenino)..

Si estoy en lo cierto, esto te tendría que funcionar (aunque depende en gran medida de cómo hayas creado la consulta):

=DCont("[Genero]";"[ConsultEdades]";"Genero= '1")

Suponiendo que tu tabla tiene los siguientes valores:

1-> Femenino

2->Masculino

Si no te funciona, pon aquí el diseño de la consulta ConsultEdades

Un saludo


Muchas gracias  Sveinbjorn El Rojo, por tu pronta respuesta:

Te cuento que me sigue generando #Error

Tabla "Genero"

Consulta:

Mil gracias

Acabo de fijarme que en mi anterior respuesta había un error, y tendría que ser:

=DCont("[Genero]";"[ConsultEdades]";"Genero= 1")

Es decir, sin la comilla simple.

Si no te funciona, necesitaría ver, también el diseño del campo Genero en la tabla Residencias, concretamente cómo has configurado el cuadro combinado. Te pongo una imagen de lo que necesito saber:

Muchas gracias por tu disposición de ayudarme

Te cuento que sigue sin funcionar, puede ser algo sencillo pero no logro encontrar el error. Te coloco la imagen que me solicitaste. Si lo deseas te puedo pasar la DB para más facilidad

Muchas gracias

Olvídalo, acabo de caer dónde está el problema:

verás, si usas como origen del informe la consulta, pero sin el criterio para limitar el rango de edad, la expresión =DCont("[Genero]";"[ConsultEdades]";"Genero= 1")  te funciona.

Lo mismo ocurre si en criterios le pones alguno fijo, como: Entre 5 y 20. También te funcionará el DCont() anterior

Sin embargo, al ponerle el criterio con parámetros que le pides al usuario, te deja de funcionar, porque no puede llamar a la consulta y pedir esos parámetros. Hay, al menos 3 formas de solucionarlo:

1º/ la más sencilla: no usar DCont() y usar la función Suma, así:

=Suma(Abs([Genero]=1))         -> para el femenino

=Suma(Abs([Genero]=2))         -> para el masculino

2º/ Crear un formulario con dos cuadros de texto para poner las edades, vincular los parametros de la consulta a los valores de esos cuadros de texto, abrir el informe (sin cerrar el formulario), y en el DCont() incluir también como criterios esos cuadros del formulario

3º/ Hacerlo todo por VBA, que es más complejo de explicar y no merece la pena teniendo la opción sencilla del punto 1 y la menos sencilla, pero más vistosa, del 2.

Vaya, se nos cruzaron los mensajes.

Ahora que veo cómo has configurado el cuadro combinado de género, la expresión que te funcionará es:

=Suma(Abs([Genero]="Femenino"))         -> para el femenino

=Suma(Abs([Genero]="Masculino"))         -> para el masculino

Sveinbjorn El Rojo

Mil y mil gracias por tus respuestas y apoyo.

Finalmente logre solucionar este inconveniente y me funciono de la siguiente manera:

=Suma(Abs([Genero]='Femenino'))

¡Gracias! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas