Se trata de alternar el color de fondo de las filas de detalle de un informe en Microsoft Access; pintaremos las líneas pares de un color y las impares de otro color diferente.
Esto facilita en gran medida la lectura del informe ya que es fácil seguir leyendo la misma línea sin que nuestra mirada se dirija a la fila anterior o posterior.
En nuestra primera aproximación el propósito es encontrar la solución más sencilla posible.
En el diseño del informe hay que incluir el siguiente código Visual Basic en el evento Al Imprimir de la sección Detalle:
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Static cuenta As Long
Dim color As Long
Dim resto As Long
cuenta = cuenta + 1
resto = cuenta Mod 2
If resto = 0 Then
color = vbWhite
Else
color = 16777177
End If
Me.Detail.BackColor = color
End Sub
En este caso pretendemos que sea lo más sencillo posible aplicar este efecto a cualquier informe
| Al imprimir: | =AlternarColorFondo() |
|---|
| Color del fondo: | 16777177 |
|---|
Public Function AlternarColorFondo()
Static color_no_blanco As Long
Static es_par As Boolean
Dim informe As Report
Dim color_fondo As Long
Set informe = Screen.ActiveReport
color_fondo = informe.Section(acDetail).BackColor
If color_fondo <> vbWhite Then color_no_blanco = color_fondo
es_par = Not es_par
If es_par Then
color_fondo = color_no_blanco
Else
color_fondo = vbWhite
End If
informe.Section(acDetail).BackColor = color_fondo
End Function
Hay una solución avanzada dónde se pueden pasar por parámetro el informe, el número de línea y el color de fondo. Para ver el código y ejemplos de uso descárgate la base de datos de ejemplo
Descargar la base de datos altenar_color.7z… (Está comprimido con 7-zip)
Un comentario:
hola