Ver Mensaje Individual
  #4  
Antiguo 02-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Yo cambiaría el esquema completamente, usaría 2 Grids (uno para alumnos y otro para calificaciones), ambos con HideSelection a False.

Se formaría una relación Maestro-detalle entre ambos grids, de forma que al seleccionar un alumno, se mostrarían solo las calificaciones de ese alumno y del periodo elegido.

Consulta Alumnos (Maestro)
Código SQL [-]
 select * from alumnos order by ...

Consulta de Calificaciones (Detalle)
Código SQL [-]
select * 
from calificaciones 
where IdAlumno = :Alumno 
  and NumeroPeriodoEscolar = :Periodo
Cuando se hace clic en el Grid de Alumnos:
Código Delphi [-]
qryDetalle.Close; 
qryDetalle.parameters.Parambyname('Alumno').Value :=   qryMaestro.Fieldbyname('Id').Value;
qryDetalle.parameters.Parambyname('periodo').Value := SpinEdit1.Value; // para que el usuario elija el Periodo.
qryDetalle.Open;

IdAlumno debería ser clave ajena (foránea, foreign key) de la tabla Alumno. Además debe tener un índice secundario por ese campo para agilizar las búsquedas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 02-04-2007 a las 17:08:30.
Responder Con Cita