Iniciado en access

Ante todo gracias por responder a mi pregunta.
Es la siguiente. He creado una base de datos en access 97 sobre cursos. Tiene un formulario donde aparecen los datos personales y un subformulario donde introduzco los cursos realizados eligiéndolos mediante un botón de control, por ejemplo matemáticas, ciencias, etc. El caso es que quiero que en una consulta me aparezca la gente que no tiene el curso de matemáticas, por ejemplo. ¿Cómo lo puedo hacer?. Gracias

1 respuesta

Respuesta
1
Supongamos que para tomar los alumnos que tomaron el curso de matemática, sabiendo que el curso 25 es matemática.
Vos tendrías la tabla alumnos, cursos y la relaciones por la tabla alumnosCursos que tiene el id del alumno y el id del curso que esta realizando.
Tienes que hacer el siguiente select:
select idAlumno from AlumnosCursos where idCurso = 25
Bien, esto te daría como resultado "1,2,34,54,66,.." que serian los id de los Alumnos que cursan matemáticas.
Vos necesitas saber quienes no cursan matemáticas, entonces hacemos:
select * from Alumnos where idAlumno in (select idAlumno from AlumnosCursos where idCurso = 25)
La clausula IN sirve para comparar un campo con varios resultados.
Digamos que si tienes que comparar
a=1 and a=2 and a=3
podrias hacer
a in (1,2,3)
Si, pero más sencillo, por favor
Muchas gracias por la respuesta, pero un poco complicado para mi. Voy a plantearlo más fácil, a ver si hay otra manera de hacerlo. Tengo el formulario de alumnos y el subformulario con los cursos, que se eligen de un cuadro combinado. El curso seleccionado se queda escrito en la casilla "Cursos". Ahora bien, le digo que me cuente los cursos y los pongo en la casilla "total" que está en este mismo subformulario, pero como hago para que me cuente solo los que pone MATEMÁTICAS. Tendrá que haber una fórmula en acces para hacer esto, como =Cuenta(Cursos)="MATEMATICAS" o algo así. No se si me explico. Gracias
No estoy muy al día con las fórmulas de access.
Fíjate si podes hacerlo con las consultas que seria la mejor manera
Suerte, Nicolas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas