Cómo evitar duplicados en subformularios?

A tod@s,

Tengo una base de datos, con tablas relacionadas Alumnos, Expedientes, Grupos...
He creado un formulario para introducir los grupos a los que tiene que asistir cada alumno.
El formulario muestra los datos personales de cada alumno y en un subformulario muestra los grupos a los que pertenece cada alumno con sus horarios.
Mi pregunta es: ¿Cómo puedo hacer para evitar introducir a un alumno 2 grupos con el mismo horario?

1 respuesta

Respuesta

No soy experto y seguro que habrá alguna solución más sencilla. A mi se me ocurre que despues de asignar un horario al alumno busque en la tabla o consulta si ya existe dicho horario para el alumno concreto´y puedas actuar en consecuencia. Esta búsqueda se realiza con la función dlookup.

existe = NZ(dlookup ("campohorariodela consulta","consultadealumnosgruposyhorarios","campohorariodelaconsulta=horaasignada y campoalumnodelaconsulta=alumnoasignado"))

Si el alumno no tiene la hora asignada, existe te devolverá el valor cero( la función NZ hace que el valor nulo se convierta en valor cero- a mi me gusta usar esta función porque con ella se evitan muchos errores en tiempo de ejecución- ; si ya tiene la hora asignada existe tomará un valor mayor que cero (el de la hora).

y donde introduzco la función?

La función debería colocarse en el evento "al salir" del campo donde introduces el grupo que quieres asignar para que en ese momento realice su función de buscar si ese horario lo tiene ya asignado o no. Tras analizar el resultado arrojado por la función pues dejarías el campo relleno con el grupo asignado o lo vuelves a dejar en blanco y asignas otro. De todas formas no me queda muy claro la estructura de tu base de datos, ya que hablas de que los grupos pueden tener el mismo horario. ¿Significa eso que cada grupo tiene diferentes horarios que pueden coincidir con los horarios de otros grupos? ¿Introduces el grupo a asignar junto a una hora del diferente horario de ese grupo?.

Como imaginas cada interrogante tendrá una solución diferente, por lo que si no logras solucionarlo sería necesario que detallaras más ampliamente lo que tienes, las tablas y sus relaciones, las vinculaciones del formulario y subformulario y las tablas en que se basan cada uno, etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas