Access - CONSULTA GENERA VARIAS VISTAS

 
Vista:

CONSULTA GENERA VARIAS VISTAS

Publicado por Juanita (8 intervenciones) el 22/06/2005 20:38:12
Hola:
Hace algun tiempo pregunte sobre un informe que tenía un grafico el cual generaba varias páginas. Ahora descubri que la consulta es la que esta mala porque ella genera varias vistas. Puedo forzar en alguna parte que se genere una sola vista. o es la consulta que debo hacer de nuevo??.

Esta es mi consulta:
SELECT Reserva.codmodulo, Modulo.horainicio, Modulo.horatermino, Count(Reserva.rut) AS CuentaDerut
FROM Carrera INNER JOIN (Usuario INNER JOIN (Modulo INNER JOIN Reserva ON Modulo.codmodulo = Reserva.codmodulo) ON Usuario.rut = Reserva.rut) ON Carrera.UA = Usuario.UA
WHERE (((Reserva.fechareserva)>=[INGRESE FECHA DESDE] And (Reserva.fechareserva)<=[INGRESE FECHA HASTA]) AND ((Carrera.UA)<>"1"))
GROUP BY Reserva.codmodulo, Modulo.horainicio, Modulo.horatermino, Reserva.activada
HAVING (((Reserva.activada)=1))
ORDER BY Reserva.codmodulo;

Es un sistema de reservas de laboratorio, Esta consulta es estadistaica: muestra el total de alumnos que ocuparon en todos los modulos la sala. Son 12 modulos, por lo que me genera una vista igual por cada modulo. Necesito que me muestre todos lo alumnos que ocuparon la sala en cada modulo, pero un asola vez.

A quien me ayude,.....
Muchas gracias.
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
Imágen de perfil de Alejandro

Mostrar una sola vista en un informe con consulta estadística

Publicado por Alejandro (4142 intervenciones) el 06/06/2023 00:51:10
Para mostrar una sola vista en tu informe y obtener el total de alumnos que ocuparon la sala en cada módulo, puedes realizar los siguientes pasos:

1. Abre la consulta en la vista de diseño en Access.
2. Asegúrate de tener todos los campos necesarios para el informe en la consulta.
3. Agrega el campo `Modulo.descripcion` a la sección "Agrupar por" de la consulta.
4. Elimina el campo `Reserva.codmodulo` de la sección "Agrupar por" de la consulta.
5. Cambia la función de agregado `Count(Reserva.rut)` por `Sum(IIf(Reserva.activada=1,1,0))` en la columna "CuentaDerut".
6. En la sección "Ordenar por" de la consulta, elimina el campo `Reserva.codmodulo`.
7. Ejecuta la consulta y verifica que ahora obtienes una única vista con el total de alumnos por cada módulo.

Aquí está la consulta modificada:

1
2
3
4
5
SELECT Modulo.descripcion, Modulo.horainicio, Modulo.horatermino, Sum(IIf(Reserva.activada=1,1,0)) AS CuentaDerut
FROM Carrera INNER JOIN (Usuario INNER JOIN (Modulo INNER JOIN Reserva ON Modulo.codmodulo = Reserva.codmodulo) ON Usuario.rut = Reserva.rut) ON Carrera.UA = Usuario.UA
WHERE (((Reserva.fechareserva)>=[INGRESE FECHA DESDE] And (Reserva.fechareserva)<=[INGRESE FECHA HASTA]) AND ((Carrera.UA)<>"1"))
GROUP BY Modulo.descripcion, Modulo.horainicio, Modulo.horatermino
ORDER BY Modulo.descripcion;

Con esta modificación, la consulta agrupará los registros por la descripción del módulo en lugar del código del módulo y obtendrás una única vista con el total de alumnos por cada módulo en el informe.

Espero que esto resuelva tu problema. ¡Buena suerte!
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