Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-12-2007
Jaros Jaros is offline
Registrado
 
Registrado: may 2007
Posts: 9
Poder: 0
Jaros Va por buen camino
Poder controlar Periodo escuela 2007/2008

Hola, quisiera saber si me podrias dar una idea de como hacer esto porque he pensado varias formas y no hay manera me lio demasiado.
Estoy haciendo un programa para una escuela, en el que por ejemplo un curso puede durar tres años, y el primer periodo empieza en Octubre del 2007 y acaba en junio del 2008 y mi problema es que no se como controlar los meses que ha pagado durante el primer periodo darlo por finalizado y empezar con el segundo periodo que seria 2008/2009 y que se quede registrado todo pero que en pantalla solo salga el periodo en curso.
Estoy trabajando con tablas parados pero si tengo que halerlo con SQL no tengo problema.
Me podriais dar una idea de como lo harias vosotros.

Muchas Gracias de ante mano.
Responder Con Cita
  #2  
Antiguo 28-12-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 22
Lepe Va por buen camino
Hola Jaros, Bienvenido a ClubDelphi.

La información que proporcionas es bastante general. Supongo tendrás las siguientes tablas:
CURSO
PERIODO (periodos definidos para cada curso)
PERSONA
CURSANDO (cursos que está cursando una persona)

Necesitarás otra tabla PAGO que defina la unidad de pago dentro de un periodo, dicho de otra forma: Un periodo dura 1 año, pero el curso se paga mensualmente, bimensualmente, etc. En esta tabla PAGO, es donde almacenas la unidad mínima de pago.

La estructura, más o menos sería así:
Código:
PAGO
  idPago  autoinc
  idPeriodo   integer (referencia a  PERIODO.IDperiodo)
  FechaInicioPago  date
  FechaFinPago  date
  Pagado Boolean
Un pago pertenece a un único periodo. Dicho periodo pertenece a un único Curso.

Si un periodo es anual y se paga trimestralmente, tendrás 4 registros en la tabla Pago para una persona que está en el curso en ese determinado año.

FechaInicioPago, FechaFinPago, es lo que registra si el pago es bimensual, trimestral, etc.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 29-12-2007
Jaros Jaros is offline
Registrado
 
Registrado: may 2007
Posts: 9
Poder: 0
Jaros Va por buen camino
Gracias Lepe por responder y por la bienvenida,

Si mas o menos eso lo tengo claro, tengo varias tablas entre ellas Alumnos y Pagos donde las tengo con un maestro detalle con el campo periodo (2007/2008), creo que no he realizado bien la pregunta (falta de costumbre).
Voy hacer un pequeño resumen a ver si lo entiendes mejor, la escuela es un Escuela de arte (de mi Hija situada en Madrid) donde se realizan Actividades, cursillos y Cursos en el primero y segundo no tengo problema el problema esta en el tercero.
El como controlar los pagos si lo tengo, por ejemplo;
Un alumno ha escogido el curso de Danza Moderna(que tiene varias asignaturas) que empieza en Octubre,
el pago es mensual, mi hija busca la ficha del alumno e ingresa el pago, donde yo recogo los registros idalumno, Mes, cantidad, periodo(2007/2008) y fechapago en la tabla Pagos, bien el problema esta en que este periodo se compone de 10 meses (10 pagos) 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, y luego en la ficha del alumno cuando realice el primer pago se le cambie el campo periodo a 2008/2009 mas que nada por si algun alumno por problemas ajenos a la escuela no pueda seguir el siguiente periodo no se le quede activo, 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.
Se que es un poco liante pero que te parece la forma de gestionarlo creo que es un poco cutrilla pero me gustaria que me dieras tu opinion, ó si se te ocurre otra forma mejor de hacerlo.
Gracias.
Responder Con Cita
  #4  
Antiguo 29-12-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 22
Lepe Va por buen camino
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 29-12-2007
Jaros Jaros is offline
Registrado
 
Registrado: may 2007
Posts: 9
Poder: 0
Jaros Va por buen camino
Ok Lepe veo que si me has entendido, y la solucion de cuando das de alta un Curso dar de alta todos los periodos que este curso conlleva no se me habia ocurrido y veo que es una solucion muy buena. Muchas Gracias "chavalote" me has sido de gran ayuda.

Con respecto al "chiste" si venia a cuento por el tipo de expresion que yó he utilizado, de todas las maneras hoy en dia obligar a un hijo a que haga algo esta un poco crudo.
Gracias y un saludo. ** Feliz año nuevo **
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
cuantos domingos tiene un periodo poliburro Varios 16 22-06-2007 16:59:02
No más Windows XP a partir de 2008 kinobi Noticias 15 17-04-2007 19:57:13
Como direccionar a una pagina en un periodo de tiempo Shidalis PHP 15 28-04-2006 19:23:33
Jaimito en una Escuela Bolivariana eduarcol Debates 34 05-10-2004 15:04:25


La franja horaria es GMT +2. Ahora son las 21:21:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi