Access - Consulta con Dcount y varias condiciones

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 18 puestos en Access (en relación al último mes)
Gráfica de Access

Consulta con Dcount y varias condiciones

Publicado por Fernando (2 intervenciones) el 25/02/2017 13:41:18
Hola a todos, soy nuevo en el foro, aunque os leo de vez en cuando y debido a unaa duda me he decidudo a preguntar, la cuestión es que tengo una BBDD de acces y necesito usar el dcount pero no me termino de aclarar, os pongo un ejemplo de tabla:

Nombre Día Mes Aprobados
Pedro 1 2 Si
Pedro 3 1 No
María 2 1 No
Carlos 1 2 Si
Pedro 1 2 Si

Ahora quiero hacer una consulta que me muestre lo mismo pero en vez de la columna aprobaados Si/No que me cuente las veces que ha aprobado Cada alumano en el mismo día y mismo mes, sería algo así:

Nombre Día Mes Aprobados
Pedro 1 2 2
María 2 1 1
Carlos 1 2 1
Pedro 3 2 1

Es decir, aunque Pedro sea laa misma persona, necesito una fila por cada mes, como esta dos veces el día uno del mes 2 debe contar 2 pero al usar dcount me cuenta 3, porque me todos los Si pero yo quiero que esté condicionado por el día, mes y nombre. No se si me explico, aa ver si me podeis ayudar.

Un saludo y gracias por aadelantado
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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Consulta con Dcount y varias condiciones

Publicado por Jesús Manuel (375 intervenciones) el 27/02/2017 09:32:49
En una consulta, tienes la opción de totales y no necesitarías la función DCount para lo que buscas.

Por otra parte, en tu ejemplo también estas contando los NO en aprobado, no solo los aprobado, por lo que necesitarías el campo Aprobadado como tal para saber que es lo que se repite, si SI o NO


De todas formas, en una consulta pon los campos Nombre, Día, Mes, Aprobado y de nuevo Aprobado. En vista diseño pulsa en el botón de Totales; símbolo de sumatorio, y tendrás una nueva linea de opciones para los campos. En el último de los campos aprobados, en Total, pon Cuenta en lugar de Agrupar por.
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
sin imagen de perfil
Val: 3
Ha aumentado su posición en 18 puestos en Access (en relación al último mes)
Gráfica de Access

Consulta con Dcount y varias condiciones

Publicado por Fernando (2 intervenciones) el 27/02/2017 15:25:42
Muchas gracias por tu respuesta, el proble de hacerlo como me dices es que necesito que me muestre el campo total y en otra columna el campo con los "Si" para poder hacer un porcentaje (Los SI entre el total), por eso intento hacerlo con dcount, como me recomendarías para que quede algo así:

Nombre
Día
Mes
Aprobados (que sería los que viene con SI)
Examindos (el total de los SI mas los NO)
%aprobados (Aprobados / Examinados)
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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Consulta con Dcount y varias condiciones

Publicado por Jesús Manuel (375 intervenciones) el 28/02/2017 08:50:34
La propuesta que te he hecho es porque me ha despistado que en tu ejemplo incluyeras a María y Pedro, cuando tienen Aprobado como NO. Por ese motivo no vi necesario usar la función Dcont y me parecía que una consulta de totales sería suficiente.

Es importante para escribir las condiciones del Dcont saber que tipo de datos es cada campo y el nombre de la tabla

Para que puedas ver como sería voy a llamarle a la tabla tblAprobados y todos los campos serían tipo texto, si algún campo es tipo númerico o Sí/No habría que hacer pequeñas modificaciones.

- Aprobado = Cuenta de mismo nombre, mismo dia, mismo mes y aprobados=Si

Aprobado: DCont("[Nombre]";"[tblAprobados]";"[Nombre]='" & [Nombre] & "' and [Dia]='" & [Dia] & "' and [Mes] ='" & [mes] & " ' and [Aprobados]='Si'")

- Examinado = Cuenta de mismo nombre, mismo dia y mismo mes

Examinado: DCont("[Nombre]";"[tblAprobados]";"[Nombre]='" & [Nombre] & "' and [Dia]='" & [Dia] & "' and [Mes] ='" & [mes] & "'")


De todas formas, para que en consulta salgan solo los aprobados, tendrías que incluir el campo Aprobados con criterio Si, por este motivo el alias no puede ser de nuevo aprobados y lo he puesto en singular. Utilizar el botón de totales para que agrupe las repeticiones, pero non indicas ninguna opción y todos los campos sería Agrupar por
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