Access - Consulta Access

 
Vista:

Consulta Access

Publicado por Miguel Angel (2 intervenciones) el 30/05/2006 11:14:06
Mi problema es el siguiente:
Tengo una base de datos relacional en la cual se definen los siguientes campos:
Tenemos parques naturales y un parque natural puede varios senderos. Para porder andar por el sendero tenemos que perdir un permiso. En la tabla permiso tenemos que especificar los datos del solicitante del permiso y el sendero por el que solicitas el permiso.
La consulta es la siguiente:
- Nombre de los responsables que han solicitado permiso en al menos todos los senderos del parque "Sierra de Grazalema".

En la tabla de permisos aparece el solicitante y el sendero, y si ese mismo solicitante pide permiso para otro sendero del mismo parque o de otro cualquiera aparece otra vez, es decir en la tabla de permisos, aparecen duplicados de solicitantes.


El problema consiste en que no soy capaz de resolver esta consulta.
Se me a ocurrido, que es muy posible que el diseño de las relaciones y las tablas este mal, pero despues de haber hecho bastantes consultas y formularios que emplean el diseño, por lo que si alguien supiera hacer esta consulta sin modificar el diseño me seria de gran ayuda. Sin necesitara alquien consulta o las relaciones, puede ponerse en contacto conmigo en [email protected]

Agradeceria la ayuda.
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

Consulta de responsables que han solicitado permiso en todos los senderos de un parque natural

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 16:46:36
Para obtener el nombre de los responsables que han solicitado permiso en al menos todos los senderos del parque "Sierra de Grazalema", puedes utilizar una combinación de consultas y funciones de agregación en Access. Aquí tienes una solución que puedes seguir:

1. Crea una consulta que obtenga la lista de todos los senderos del parque "Sierra de Grazalema":
- Abre la vista de diseño de una nueva consulta.
- Agrega las tablas pertinentes (por ejemplo, "Senderos" y "Permisos") y establece las relaciones adecuadas.
- Selecciona los campos necesarios para identificar los senderos (por ejemplo, "IDSendero" y "NombreSendero").
- Aplica el criterio "Sierra de Grazalema" en el campo que identifica el parque (por ejemplo, "NombreParque").
- Guarda la consulta con un nombre descriptivo, como "qrySenderosSierraGrazalema".

2. Crea una segunda consulta para obtener la lista de responsables que han solicitado permiso en los senderos de la consulta anterior:
- Abre la vista de diseño de una nueva consulta.
- Agrega las tablas pertinentes (por ejemplo, "Permisos" y "Solicitantes") y establece las relaciones adecuadas.
- Selecciona los campos necesarios para identificar a los responsables (por ejemplo, "IDResponsable" y "NombreResponsable").
- Establece la tabla "Permisos" como la tabla principal en la consulta.
- Establece la consulta "qrySenderosSierraGrazalema" como una tabla secundaria en la consulta y establece la relación adecuada entre los campos "IDSendero" de ambas tablas.
- En el criterio del campo "NombreSendero" de la consulta secundaria, utiliza una función de agregación como "COUNT" para contar el número de senderos de "qrySenderosSierraGrazalema" en los que el responsable ha solicitado permiso.
- Establece el criterio de la función de agregación en la consulta principal para que sea igual al número total de senderos en "qrySenderosSierraGrazalema" (puedes obtener esto utilizando una subconsulta).
- Guarda la consulta con un nombre descriptivo, como "qryResponsablesTodosSenderos".

3. Ejecuta la consulta "qryResponsablesTodosSenderos" para obtener la lista de responsables que han solicitado permiso en todos los senderos de la Sierra de Grazalema.

Esta solución utiliza una combinación de consultas y funciones de agregación para determinar qué responsables han solicitado permiso en todos los senderos del parque "Sierra de Grazalema". Asegúrate de tener las relaciones adecuadas entre las tablas y de que los campos utilizados en las consultas coincidan con los nombres reales en tu base de datos.
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