Principales respuestas
Tabla o tablas de apertura de gestion

Pregunta
-
Hola mis amigos como están, estoy con muchas dudas al respecto de lo siguiente, bueno estoy intentando hacer un aplicativo para controlar la gestión de un colegio
ya tengo las tablas de registro de estudiante padres y demás, ahora viene la parte un poco mas difícil
par mi como voy a hacer el control de gestión.
por ejemplo, una gestión escolar debería estar comprendida de el año escolar y de los meses.
ya cree dos tablas una llamada GestionEscolaranhios y la otra GestionEscolarMeses (Enero, Febrero,..........Diciembre)
pero la gestión escolar no comienza en enero y tampoco termina en diciembre, y debo cada año crear una nueva gestión escolar, ahí me viene mi problema hice algo como esto, donde voy a seleccionar los meses de mi gestión. esta parte no se como encararla o crearla, ya que en algún momento tendré que mostrar una tabla pivot de esta manera
-----------------------------------------------------------------------------------------------------------------------------------
Estudiante | Febrero| Marzo | Abril | Mayo | Junio | Julio | .........| Diciembre Total
-----------------------------------------------------------------------------------------------------------------------------------
Juan Perez | 500 | 300 | 500 | 200 | .............................. 1500
por favor si me dan alguna idea de como crear estas tablas la verdad no se como crear esas tablas,
Gracias
Roberto Melgar
Respuestas
-
Hola Roberto:
Si tu obtienes un registro de tu curso Matematicas 2017-2018, y la fecha es desde el 15 de marzo al 15 de octubre (manteniendo tu idea de tener checks para marcar), solo tienes que marcar los meses que transcurren en el tiempo de periodo. Si lo obtienes con una consulta, o lo tratas mediante el lenguaje
CREATE TABLE curso (id INT, denominacion VARCHAR(50), fechainicio DATETIME, fechafinal DATETIME, cicloEscolar INT, costeMatricula FLOAT, costeTotal FLOAT ); GO INSERT INTO curso (id, denominacion, fechainicio, fechafinal, cicloEscolar, costeMatricula, costeTotal ) VALUES (1, 'MATEMATICAS 2017-2018', '20170701', '20180401', 1, 150.5, 2004.8 ), (2, 'MATEMATICAS 2018-2019', '20170601', '20180501', 2, 1500.5, 2004.8 ), (3, 'LITERATURA 2017-2018', '20170901', '20180701', 1, 150.5, 2004.8 ), (4, 'OTROS 2017-2018', '20171201', '20180401', 1, 150.5, 2004.8 ); SELECT DATEDIFF(month, fechainicio, fechafinal) AS DIFMESES, MONTH(FECHAINICIO) AS MESINICIAL, DATENAME(MONTH, fechainicio) AS MESINICIAL, DATENAME(MONTH, fechafinal) AS MESFINAL FROM curso;
Algo de este estilo....
Como lo ves?
- Marcado como respuesta Roberto C. Melgar jueves, 5 de julio de 2018 18:49
Todas las respuestas
-
Hola Roberto C. Melgar;
¿Y porqué no?
créate table GestionEscolar ( id int primary key, denominación varchar(50), fechaInicio datetime, fechaFin datetime );
Dado que, tanto lo que presentas, como anualidad, como lo que presentas como meses, no dejan de ser partes de una fecha, y de las mismas se puede extraer en base a un único registro. Puedes cumplimentar la tabla con mas campos, tales como PERIODO VARCHAR(50) = '2017-2018', o cualquier otro atributo que le sea propio, como puede ser el coste.
Esto simplifica bastante tu modelo de datos, y te será muy fácil consultarlo.
El usuario estará matriculado en un curso, tabla matriculaCursosEstudiantes (tabla intermedia de varios a varios), donde los alumnos se matriculan, y luego los pagos, sobre estudiante, curso. En los pagos, vas insertando registros con la fecha y el periodo que están pagando, y lo que resta es calculado, sobre el coste, menos, lo que ya ha pagado...o algo del estilo.
Un saludo
-
-
Perdona Javi : estoy leyendo para entender la idea
y entiendo esto
denominacion | Fecha Inicio | Fecha Fin|
2017-2018 | 05/02/2018 | 20/11/2018
Ok lista mi tabla, periodo de la gestion_Escolar
pero ahi como podria luego mostrar en un datagridview los meses en la parte superior,lo que deseo mostrar, tendria lo que intento hacer es como una hoja tabulada de excel
gracias, de todas formas ya me voy dando cuenta de como ir encarandolo.
un buen dia
Roberto
-
Hola Roberto:
Si tu obtienes un registro de tu curso Matematicas 2017-2018, y la fecha es desde el 15 de marzo al 15 de octubre (manteniendo tu idea de tener checks para marcar), solo tienes que marcar los meses que transcurren en el tiempo de periodo. Si lo obtienes con una consulta, o lo tratas mediante el lenguaje
CREATE TABLE curso (id INT, denominacion VARCHAR(50), fechainicio DATETIME, fechafinal DATETIME, cicloEscolar INT, costeMatricula FLOAT, costeTotal FLOAT ); GO INSERT INTO curso (id, denominacion, fechainicio, fechafinal, cicloEscolar, costeMatricula, costeTotal ) VALUES (1, 'MATEMATICAS 2017-2018', '20170701', '20180401', 1, 150.5, 2004.8 ), (2, 'MATEMATICAS 2018-2019', '20170601', '20180501', 2, 1500.5, 2004.8 ), (3, 'LITERATURA 2017-2018', '20170901', '20180701', 1, 150.5, 2004.8 ), (4, 'OTROS 2017-2018', '20171201', '20180401', 1, 150.5, 2004.8 ); SELECT DATEDIFF(month, fechainicio, fechafinal) AS DIFMESES, MONTH(FECHAINICIO) AS MESINICIAL, DATENAME(MONTH, fechainicio) AS MESINICIAL, DATENAME(MONTH, fechafinal) AS MESFINAL FROM curso;
Algo de este estilo....
Como lo ves?
- Marcado como respuesta Roberto C. Melgar jueves, 5 de julio de 2018 18:49
-