** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Duda sobre consulta
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDuda sobre consulta

 Responder Responder
Autor
Mensaje
JackSparrow Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 04/Junio/2018
Localización: Baleares
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Tema: Duda sobre consulta
    Enviado: 04/Junio/2018 a las 12:42
Hola a todos, tengo una duda con un ejercicio de Access.

Tengo una base de datos con tres tablas: empleados, proyectos y empleado_proyecto.

En la tabla empleado esta el código del empleado y su país de origen como datos importantes. En la tabla proyecto tenemos el código del proyecto y el presupuesto y en empleado_proyecto el codigo de proyecto y el codigo de empleado (para saber que empleados han participado en cada proyecto).

Lo que me piden es una consulta en la que aparezcan todos los proyectos y su presupuesto en los que no interviene ningún trabajador de España.

Obviamente cojo los campos solicitados, pero si en país pongo la condicion (<>España) lo único que hace es mostrarme los resultados sin españa, pero no está teniendo en cuenta que si uno de los empleados del proyecto es de España debe NO tener en cuenta dicho proyecto.

Se supone que es una consulta que debe realizarse sin usar SQL y a través de la vista diseño de consulta.

Gracias!
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 4616
Enlace directo a este mensaje Enviado: 04/Junio/2018 a las 16:59
Hola!

Copia la SQL que genera la consulta y pégala aquí.
Un Saludo.
Arriba
JackSparrow Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 04/Junio/2018
Localización: Baleares
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 04/Junio/2018 a las 18:44
No la tengo, usando SQL y haciendo una subconsulta he conseguido obtener los resultados deseados pero la persona que debe resolver ese ejercicio planteado no tiene ni idea de SQL y supuestamente no es necesario.


Arriba
pitxiku Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 478
Enlace directo a este mensaje Enviado: 04/Junio/2018 a las 20:47
Creo que se puede hacer con 2 consultas:

1. Una consulta que devuelva los proyectos (valores únicos) que SI tengan algún trabajador en España.

2. Usar el asistente de consultas de Access, para que devuelva los proyectos que NO aparezcan en la consulta del punto 1: asistente de no coincidentes.
Arriba
lalo1956 Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 08/Marzo/2005
Localización: Mexico
Estado: Sin conexión
Puntos: 941
Enlace directo a este mensaje Enviado: 05/Junio/2018 a las 00:08
Publicado originalmente por JackSparrow JackSparrow escribió:

....no tiene ni idea de SQL ......

No necesita saber SQL, basta con poner en "Vista SQL", seleccionar todo, copiar y pegar en el mensaje, saludos! Smile
Quien no vive para servir, no sirve para vivir!** AYUDA A MANTENER EL FORO **
Arriba
JackSparrow Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 04/Junio/2018
Localización: Baleares
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 05/Junio/2018 a las 15:01
Si os adjunto el archivo será más fácil¿?

No localizo opción de adjuntar, es posible¿?
Arriba
MexMan70 Ver desplegable
Colaborador
Colaborador


Unido: 17/Julio/2007
Localización: DarkSide
Estado: Sin conexión
Puntos: 9152
Enlace directo a este mensaje Enviado: 06/Junio/2018 a las 20:30
Buenas tardes a todos !

La solución se puede hacer en una sola consulta y en el diseñador gráfico de consultas, aquí la cuestión es que NO es para usuarios principiantes pues requiere de buen conocimiento en el manejo de Consultas en Access.

Con la tabla Proyectos deberás hacer una Consulta Principal y en la clausula Where (llamada Criterios en el diseñador Gráfico de Consultas) del campo Id_Proyecto deberás negar (Operador NOT) para obtener los proyectos de los empleados que NO pertenecen a X Sede. Ejemplo: Not In (Select ....). A este consulta se le llama de No Coincidentes

Para elegir la Sede de los empleados que no queremos es muy sencilla (aunque suene ilógico), ejemplo:
SELECT Id_Empleado FROM Empleados WHERE Sede = [NumSede]
Donde [NumSede] será una variable tecleada del País del Empleado.
Observación: En [NumSede] se asume que se tecleara el Numero del País y no el Nombre, para teclear el nombre puedes hacer un simple cambio de Campo y tratando la información como es adecuada:
Numero: Nada
Texto: Comillas simples o Dobles o su equivalente: Chr(34) (de las comillas dobles)
Fecha: Formato americano y encerradas en almohadillas.

Para elegir a los Empleados que pertenecen a X proyecto de los cuales seleccionamos previamente tienes que usar la Clausula IN, dicho esto te debería quedar así:
SELECT Id_Proyecto
FROM Empleados_Proyectos
WHERE Id_Empleado IN (SELECT Id_Empleado FROM Empleados WHERE Sede = [NumSede])
GROUP BY Id_Proyecto

Esta consulta (de Coincidentes) te devolverá los empleados que son originarios de X Sede. En el diseñador gráfico si haces clic con el botón derecho del ratón en un área de las Tablas te mostrara (siempre y cuando no sea en una tabla) o abajo de los Campo, criterios, etc. te saldra una menú contextual el cual puedes elegir el tipo de vista de la consulta (SQL, Hoja de datos, etc.). También hay un botón en la parte superior llamado Ver.

Saludos !
OneDrive: http://sdrv.ms/Vk6eJd
Arriba
JackSparrow Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 04/Junio/2018
Localización: Baleares
Estado: Sin conexión
Puntos: 7
Enlace directo a este mensaje Enviado: 12/Junio/2018 a las 17:32
Hola a todos de nuevo,

Con las opciones que indicó Pitxiku lo he conseguido obtener. SmileBig smile

Muchas gracias por vuestra ayuda!!
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable