PDA

Ver la Versión Completa : comparar una cadena y consultar


UREÑA
19-06-2007, 17:45:00
hola amigos buen dia!!
tengo una consulta que me arroja los datos dependiendo del area, periodo que un alumno este cursando

frm_DataModule.qry_AluMat_APM.Close;
frm_DataModule.qry_AluMat_APM.SQL.Clear;
frm_DataModule.qry_AluMat_APM.SQL.Add('SELECT ALUMNO.MATRICULA, ALU_MAT.CURSADAS FROM (ALUMNO INNER JOIN CALIFICACION ON ALUMNO.MATRICULA = CALIFICACION.MATRICULA) INNER JOIN ALU_MAT ON ALUMNO.MATRICULA = ALU_MAT.MATRICULA ');
frm_DataModule.qry_AluMat_APM.SQL.Add('WHERE (((ALUMNO.AREA_ACADEMICA)='+VarToStr(combo_AA.keyvalue)+') AND ((CALIFICACION.ID_PERIODO) = '+QuotedStr(VarToStr(combo_Periodo.keyvalue))+'))');
frm_DataModule.qry_AluMat_APM.SQL.Text;
frm_DataModule.qry_AluMat_APM.Open;

en base a la consulta me arroja los datos de los alumnos que estan en esa area y periodo
lo que pasa es que tengo un campo que se llama cursadas ahi tengo una cadena que se va incrementando conforme un alumno cursa una materia se le asigna el id de la materia
ya cuento la cadena y lo comparo pero no se como hacerle para que me muestre los alumnos
lo que quiero es ver como le puedo hacer para mandar el nombre de los alumnos que no han cursado la materia seleccionada, que componente puedo usar y como lo puedo hacer

tenia pensado con dos listbox uno con el resultado de los alumnos que no han cursado la materia seleccionada y otro en donde asigne los alumnos que van a cursar la materia seleccionada

espero y me puedan orientar no busco que me los hagan solo que me digan cual forma seria la mas adecuada:eek:

de antemano gracias:D

ContraVeneno
19-06-2007, 18:46:56
Lo más adecuado sería que tuvieras otra tabla donde tuvieras una relación de alumnos con materias cursadas.


Tabla: MateriasCursadas
IDAlumno IDMateria
---------- -----------
1 1
1 2
1 3
2 1
3 1
2 2
4 1



Por ejemplo... además, aquí podrías colocar la calificación con la que aprobó esa materia. Incluso agregar con que profesor curso esa materia. Bueno, que las posibilidades incrementan.

Y cuando quieras saber que materias curso un alumnos, pues simple:


Select A.Nombre, M.Nombre, MC.Calif
From MateriasCursadas MC
join Alumnos A on MC.IDAlumno=A.IDAlumno
join Materias M on MC.IDMateria = M.IDMateria
Where MC.IDAlumno = 1