Totales por página
Pregunta
¿Cómo puedo conseguir en un informe un campo que calcule solamente el total por cada página, sin acumularlo para la siguiente página, como hace la propiedad Suma continua (RunningSum)?
Respuesta
Puedes emplear un sencillo código y utilizarlo en el evento Print de la sección Detalle del informe.
Supongamos que tenemos en un informe un control llamado “Cantidad” del cual queremos sumar el total por página. También, en el pie de página, habríamos puesto otro control llamado “TotalCantidad”, en el cual pretendemos reflejar el total del control “Cantidad” para cada página. Pues bien, en el evento Al imprimir (Print) de la sección Detalle del informe, pondríamos este código:
' variable para controlar el número de página
Static pag As Long
' si se ha cambiado de página
If pag <> Page Then
' actualizamos el número de página en
' nuestra variable
pag = Page
' borramos el contenido anterior
' del control TotalCantidad
Me.TotalCantidad = Null
End If
' sumamos el total usando Nz para evitar los nulos
Me.TotalCantidad = Nz(Me.TotalCantidad) + Nz(Me.Cantidad)
Créditos
con el fin de dar a conocer el trabajo de uno de los más grandes en el mundo de Access en español, y tras solicitar su permiso, replico este artículo de Juan M Afán de Ribera. Todos los derechos y autoría corresponden a él. Access & VBA FAQ – Totales por página (archive.org)
Pregunta Sé cómo imprimir un informe mediante código y sé cómo hacer para que aparezca el cuadro de diálogo imprimir,…
Cómo numerar individualmente grupos de páginas en un informe