Cita:
Empezado por lKinGl
ufff men no entiendo nada :S
no se, pienso que seria bueno así, horainicio del dia y horafinal pero como hago si el aula se utiliza de 7:00 a 8:00 y de 8:00 a 9:00 esta desocupada :S
gracias adelantadas
|
¿Que es lo que no se me entiende?


Pensé que se entendería bien. De hecho, lo hice lo más breve y simple posible.
¿O será que por ser demasiado breve omití algunas explicaciones escenciales?
lKinGl, ¿Qué es lo que no entiendes de mi diseño? Te lo puedo volver a explicar si es necesario.
Esa duda de las horas de cuando está desocupada u ocupada lo trato con el diseño que he planteado.
Digo, se basa en un principio elemental y básico: Si existen registros asociados a x horas, entonces para todas las 17-x horas restantes significa que el aula está desocupada.
¿Para que guardar información de que está desocupada si puede enterderse y desprenderse de otra información ya almacenada? ¡Estarías duplicando información!
¿Sabes cual es el problema lKinGl?, Encontrar las instrucciones SQL que te permiten desarrollar la programación del sistema.
El diseño que yo elaboré responde a tus requisitos. Como he dicho antes, ahora lo que resta es programación, pensar un poquito. Nada más.
¿Necesitas saber cuántas horas tiene libre un aula x para un dia y? Fácil:
Código SQL
[-]SELECT sum(Duracion) AS SumaHora
FROM Horarios
WHERE (Horarios.AulaID = :pAulaID) AND (Horarios.DiaSemID = :pDiaSemID)
Esa Query la ejecuto en un TQuery, pasandole los parámetros pAulaID y pDiaSemID y después puedo hacer algo como esto:
Código Delphi
[-]horas_ocupadas := MiQuery.FieldByName('SumaHora').AsInteger;
horas_libres := 17 - horas_ocupadas;
ShowMessage('El aula tiene : ' + IntToStr(horas_libres) + ' horas libres');
¿Se entiende la idea?
Si no entiendes te pediría entonces que me indicaras que no entiendes en vez de estar diciendo simplemente que no entiendes.
Saludos,