Dudas sobre consultas condicionales a tablas de la base de datos implementada con Microsoft Access

Hola, quisiera saber si es que me puedes ayudar a hacer una consulta en access que muestre los registros de una tabla, pero sólo aquellos que cumplan varias condiciones. Me explico: tengo una tabla "Trabajadores" que contiene sus datos personales, ésta tabla está relacionada con la tabla "Cursos" que detalla los cursos de capacitación que se han hecho en la empresa, por lo que a través de una tabla "intermedia" pude asignar cursos a trabajadores según corresponda. Ahora, por otra parte tengo una tabla "cargos" que tiene el listado de cargos existentes en la empresa, ésta se relaciona con otra tabla "Competencias" que contiene un listado de capacidades que los trabajadores deben tener para ocupar un puesto determinado, la que se relaciona también con la tabla "Cursos", osea, el curso que provee cada competencia.
Lo que quiero es que Access me muestre qué trabajadores tienen todos los cursos que proveen todas las competencias necesarias para ocupar un determinado cargo. Ha de ser algo así como una consulta de selección entre tablas relacionadas, pero no sé como hacer que me muestre sólo los trabajadores que cumplan con todas las competencias que requiere el curso porque han hecho los cursos correspondientes. Si hay otra forma de hacerlo te lo agradecería millones también.
Ojalá me puedas ayudar ya que es una tarea y ya me estoy desesperando!. Disculpas por haberme extendido tanto, pero quería que quedara claro. GRACIAS!

1 respuesta

Respuesta
1
¿Hasta dónde has llegado?, ¿Sabes hacer una consulta que te saque los cursos que cada trabajador tiene hechos de esa competencia?.
Si la respuesta es sí, imagino que para una competencia habrá N cursos que hacer, si la en consulta anterior, agrupas por empleado y cuentas los cursos que tiene, ¿los qué tengan N cursos tendrán todos no?.
Sí, de hecho intenté algo así. Lo que hice es que al ejecutar la consulta, me pide ingresar el Número del cargo (que necesita varias competencias) y me despliega los trabajadores que poseen cursos relacionados con las competencias que requiere el cargo. Por ejemplo, algo así:
Empleado Curso Competencia
Juan Arriagada Mecánica Automotriz Conocimiento básico de Mecánica
Juan Arriagada Mantención Industrial Mantención de Equipos
Marcos Santibáñez Mecánica Automotriz Conocimiento básico de Mecánica
Por ejemplo acá el cargo ingresado necesita las competencias "Conocimiento básico de Mecánica" y "Mantención de equipos". Por lo que el trabajador "Juan Arriagada" sería el que puede ocupar el cargo. Como ves, agrupé los datos por trabajador, pero me diste una muy buena idea que sería contar cuantos registros tiene un mismo trabajador en esa consulta y así sabría si tiene las N competencias que tiene el cargo. ¿Cómo podría hacer esto?, ¿Algo en la fila Criterio de la consulta?... además, tendría que automáticamente contarse el número de competencias que requiere el cargo (N) para comparar con este número de registros repetidos en la consulta y ver si es también N... ésas son mis dudas.
Muchas gracias por tu ayuda smanero, me ha servido mucho!
Para contar haz una consulta de agregado, pincha en la letra sigma (una M girada), debajo de los campos te sadrá 'agrupar por', deja esto en el campo empleado y pon contar en el resto y ya lo tendrás.
Gracias, pero como acá donde estoy no tengo el archivo, no puedo probar tu sugerencia... mañana apenas pueda lo probaré y te cuento como me fue.
OK
Me resultó a la perfección Smanero!... Muchas Gracias... te agradeceré infinitamente tu dedicación y ayuda :).
Pues finaliza, ¿sino vuelve a salirme como no resuelta ok?.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas