Al tratarse de paradox, la cosa se complica un poco, en otros motores de Bases de datos, se tienen muchos mecanismos donde elegir, aquí, poco se puede hacer. Tendrás que implementar mucho código delphi y consultas sql.
Cita:
Empezado por Jaros
lo que no tengo muy claro es si cuando finalicen los diez meses obligarle a mi hija que vaya a la ficha del curso y por medio de un boton o lo que sea cambie el periodo de 2007/2008 a 2008/2009
|
No tienes que
obligar a nada a tu hija, tampoco te echará cuenta...
(no he podido contenerme de hacer un chiste malo, lo siento
).
Cuando un curso se da de alta, se debería dar de alta todos los periodos que comprende, es decir, si tiene 2 periodos, dar de alta 2 registros:
Código:
IdCurso IdPeriodo Periodo Fecha_inico FechaFin
1 1 2007/2008 01/10/2007 30/06/2008
1 2 2008/2009 01/07/2008 01/01/2009
A través de la fecha actual del sistema, usando fecha_inicio y Fecha_Fin, puedes saber qué periodo es el vigente de cada curso.
Incluso pidiendo un listado por filtrado por IdCurso y ordenado ascendentemente por IdPeriodo, puedes saber cual es el periodo
siguiente al vigente.
Si no existen alumnos en el periodo vigente, significa que estás comenzando un nuevo periodo y puedes preguntar al usuario si quiere crear todos los registros para el periodo actual. No sé supongo que es lo que quieres decir con "cambiar el periodo a todos los alumnos", dicho de otra forma, crear nuevos registros para un periodo nuevo de cada alumno cursando una materia.
Obviamente cada Alumno que está en un curso debe tener un campo Boolean que se llame "Matricula_Cancelada", para no dar de alta en el nuevo periodo, aquellos alumnos que han cancelaldo su matrícula.
Cita:
Empezado por Jaros
por que si lo hago en automatico (cambiar el periodo a todos los alumnos a la vez lo mismo que en el curso) creo que pueda tener problemas.
|
Obviamente no sé cómo has implementado eso y tampoco sé, cómo debe funcionar el programa, por este motivo quizás "no nos entendamos".
Cita:
Empezado por Jaros
luego en la ficha del alumno cuando realice el primer pago se le cambie el campo periodo a 2008/2009
|
ummm, esto no lo entiendo. Cuando un alumno va a pagar, tu hija debe indicar qué curso, qué periodo y qué mes va a pagar. Por tanto, el campo "periodo" es un dato de entrada, no tienes que averiguarlo.
Se puede solucionar con un DBLookUpCombo, mostrando en la lista desplegable del combo los periodos que tiene un curso, y, sabiendo la fecha actual del sistema, "proponer por defecto" el periodo que se desea pagar.
Si no "he entendido lo que preguntas", expón la estructura de tus tablas (al menos la de curso, periodo, curso-alumno, pagos) y explica qué registros das de alta y como funciona. Quizás yo tenga en mente una forma de trabajo y tu otra distinta.
Saludos