La Web del Programador: Comunidad de Programadores
 
    Pregunta:  976 - USO DE FORMULAS EN CRYSTAL REPORT
Autor:  Mª Eugenia
Estoy utilizando las formulas de crystalreport 4.5 en particular "FORMULA, FORZAR NUEVO MOMENTO DE EVALUACIÓN", que viene en la ayuda; para sacar una suma por grupo de un formula que es x * y, Mi problema es que no inicializa las variables y obtengo una suma total y no por grupo. No soy muy buena para explicar mi problema pero les agradeceria que checaran la ayuda en es apartado y me pudieran ayudar, de antemano muchisimas gracias por su atención.

  Respuesta:  Gerardo Portillo
tienes que tener claro las reglas de Momento de Evaluación (Evaluation Time)
1. si ninguna base de datos o campo de grupo esta incluida en la formula, la formula es evaluada antes que el programa lea los registros de la base de datos.
2. si una base de datos es incluida en la formula, la formula es evaluada mientras el programa lee los registros de la base de datos.
3. si un campo de grupo, un campo de numero de pagina, un subtotal, etc... esta incluido en la formula, la formula es evaluada despues que los registros de la base de datos son leidos y mientras los datos de los registros estan siendo impresos en el reporte.

si tenemos @operacion = {tabla.x} * {tabla.y}
puedes sacar el subtotal de cada grupo asi:
@subtotal = sum of @operacion

con la inicializacion puedes hacer una funcion @iniciar que lleve las variables a cero e incluirlo en la funcion del Momento de Evaluacion. Cualquier Duda o pregunta solo escribeme a mi mail, quisiera saber exactamente que es lo que estas haciendo. Dios te Bendiga...