¿ACCESS2007 hacer Count con criterio en un informe?

A ver si alguien sabe como ayudarme. Quiero generar un informe anual con una lista de todos los empleados y con las faltas de puntualidad totales de cada uno, numero total de días de baja, etc.. Algo así:

Nombre puntualidad bajas

Pepito 8 4
Pupas 0 365
Manuelita 1 32
...
Mi base de datos consiste en una tabla con una fila por día y empleado. Ahí existe un campo 'CONCEPTO' en el que se indica si hubo falta de puntualidad, baja, etc..
Por ejemplo, para hallar el total de faltas de puntualidad yo querría hacer algo así (CONCEPTO=1 indica falta de puntualidad) por cada grupo del informe(Cada empleado es un grupo). Pero esta expresión no consigo meterla en el informe.
=DCont("*", "MARCAJES", "[CONCEPTO] = '1'")
¿Es posible hacer esto así? Si no, ¿qué otras posibilidades tengo para generar un documento así?

2 respuestas

Respuesta
1
Es mejor hacerlo con una consulta de Totales, agrupas por empleado y sacas el resto de la información.
Gracias por responder 'smanero'.
No tengo claro como hacer lo que dices. Porque por ejemplo si hago una consulta con el numero total de 'Faltas de puntualidad' pongo como condición: 'CONCEPTO=1' y entonces ahí ya no puedo meter el numero total de bajas. Tendría que hacer otra consulta para el numero de bajas totales de cada empleado. Y la hago, pero ahora no sé como unir los datos de las dos consultas en una sola para poder generar el informe luego. No sé si se puede hacer.
¿Se te ocurre alguna solución? ¿Me estoy explicando bien?
Claro que te has explicado bien, pero no tienes que poner concepto=1 como condición sino como campo, me explico, en la consulta debes de poner como
Puntualidad:iif(concepto=1;1;0)
Cuenta (o suma) tanto da
Bajas:iif(concepto=8;1;0)
Cuenta
Etc.
Tantos como necesites, agrupas por fulano y ya está.
También podrías hacer una de referencias cruzadas, pero estas las controlo menos.
Lo siento pero no doy..
Creo que hice lo que me dijiste pero me sale algo muy raro, en los valores totales me sale siempre 8(para todos los empleados), ademas da igual que ponga CONCEPTO=1 que =8 o lo que sea..
Probablemente se me e este escapando algo pero es que llevo todo el día con esto y supongo que estaré algo atontado..
Te pongo la consulta en formato SQL que se genera:
SELECT MARCAJES.APELLIDOS, Count(IIf([CONCEPTO]=1,1,0)) AS Puntualidad
FROM MARCAJES
GROUP BY MARCAJES.APELLIDOS;
Ademas el 8 no entiendo de donde sale, lo que más se aproxima son las faltas de puntualidad, pero son 9! Asique no entiendo nada.
Sorry, pon suma en lugar de cuenta, te quedará Sum(iif...
Respuesta
1
Es más fácil si creas una consulta y haces el count desde la consulta y luego en el record source del reporte haces referencia a la consulta.
Es más fácil agrupar y contar o sumar desde una consulta. . .
Si necesitas el código de la consulta infórmame y con gusto te ayudo
Gracias, aunque ya lo había resuelto...
dejo el hilo: http://www.todoexpertos.com/mitodoexpertos/finish/2063984
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas