Ver Mensaje Individual
  #1  
Antiguo 24-03-2010
Avatar de sisne
sisne sisne is offline
Miembro
 
Registrado: mar 2010
Posts: 71
Reputación: 15
sisne Va por buen camino
Contar filas de un DBGrid y comparar un campo especifico

Hola!
Pueden darme alguna solucion?.
Una vez que tengo llena de datos en el DBGrid2 de datos de la TTablaMaterias, donde estan los campos de IdM, CodigoMateria,NombreMateria, "Calificacion", etc.... Donde en calificacion puede aparecer la informacion de: Aprobado, Reprobado o Ninguno. Y en IdM solo es contador.
Ahora lo que quiero es, contar, cuantas Aprobados , Reprobados y SinNota existen de las materias que se programaron, que esta informacion se encuentra en el DBGrid2?
Intente realizar este codigo:
Código:
    For i:=1 to Tacademico['IdM'] do
      begin
        Kon:=Kon+1;
          if Facademico.Tmateria['CalificacionM']='Aprobado'then A:=A+1
          else
            begin
               if Facademico.Tmateria['CalificacionM']='Reprobado'then R:=R+1
               else N:=N+1;
            end;
      end;
Donde Kon es la variable para saber cuantas materias se programaron, y estan guardadas en el DBGrid2.

Pero con este codigo solo me da como resultado...por decir en el DBGrid2 de Materias tengo 4 materias programas y seleccionado toda la fila "3"
Donde :
IdM "1" Calificacion "Aprobado"
IdM "2" Calificacion "Aprobado"
IdM "3" Calificacion "Reprobado"
IdM "4" Calificacion "SinNota"

Y cuando ejecuto la sentencia pues me da como resultado TtotalProgramadas=3, Aprobadas=0, Reprobadas=3 y SinNota=0.
Cuando deberia dar de resultado: TtotalProgramadas=4, Aprobadas=2, Reprobadas=1 y SinNota=1.

Y por decir esta seleccionado en el DBGrid2 la fila 2.
Y cuando ejecuto la sentencia pues me da como resultado TtotalProgramadas=2, Aprobadas=2, Reprobadas=0 y SinNota=0.

Como te daras cuenta, pues solo cuenta en el mismo lugar nada mas...
Como seria el codigo para contar y comparar cada campo?
Gracias!
Responder Con Cita