Ver Mensaje Individual
  #7  
Antiguo 03-10-2006
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Reputación: 20
Héctor Randolph Va por buen camino
Suponiendo que tienes un conjunto de datos de la siguiente forma:

Código:
semestre  nombre nota
1            nota1  100
1            nota2  98
1            nota3  78
2            nota1  75
2            nota2  95
2            nota3  92
El generador de reportes lo único que hace es evaluar una expresión de agrupamiento y por cada valor diferente que devuelva la expresión hace un corte y genera un grupo

En el ejemplo anterior si la expresión de agrupamiento es el campo semestre entonces comienza a recorrer los datos y encuentra en el primer registro el valor 1, por lo tanto creará un grupo con ese valor, cuando pasa al siguiente registro el valor de la expresión nuevamente es 1 así que asume que el registro pertenece al mismo grupo y continua de esta forma hasta que el valor de la expresión cambie, esto sucede cuando pasa por el cuarto registro, en ese momento el valor sería 2 y entonces lo que procede es crear un nuevo grupo con ese valor, el proceso se repite hasta el final de la tabla.

El resultado sería el esperado
Código:
semestre  1
            nota1  100
            nota2  98
            nota3  78
semestre  2
            nota1  75
            nota2  95
            nota3  92
Para obtener este resultado es importante que los datos esten ordenados por el campo que agrupamiento y la expresión de agrupamiento no tiene que ser por fuerza un campo, puede ser algo más complicado.

Para más información te recomiendo ver las demos que vienen incluidas en Delphi entre ellas está un reporte de quickreport con agrupamiento y se ve más claramente como se manejan las componentes.

Saludos

Última edición por Héctor Randolph fecha: 03-10-2006 a las 07:03:59.
Responder Con Cita