** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Cómo puedo cambiar el color del fondo de un report
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCómo puedo cambiar el color del fondo de un report

 Responder Responder
Autor
Mensaje
odlarhg Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 08/Junio/2020
Localización: Guatemala
Estado: Sin conexión
Puntos: 4
Enlace directo a este mensaje Tema: Cómo puedo cambiar el color del fondo de un report
    Enviado: 08/Junio/2020 a las 18:30
Hola a todos,

Quiero solicitar su ayuda para poder cambiar el color del fondo de un reporte usando código.

He usado estas líneas de código en Detalle_Format 

        Me.Detalle.BackColor = RGB(255, 188, 84)
        Me.Detalle.AlternateBackColor = RGB(255, 188, 84)
        Me.Secci?nEncabezadoDeP?gina.BackColor = RGB(255, 188, 84)

y estas en SecciónEncabezadoDePágina_Format

        Me.Detalle.BackColor = RGB(255, 188, 84)
        Me.Secci?nEncabezadoDeP?gina.BackColor = RGB(255, 188, 84)

Esas líneas en efecto cambian el color sin problema, pero ahora necesito cambiar el color del fondo basado en el contenido del campo Idioma.  Son 4 idiomas los que tengo en la base de datos y el color debe cambiar dependiendo el nombre de cada idioma.

He probado con este código, pero simplemente no cambia el color y el fondo se queda en blanco.

    If Me.Idioma = "Mam" Then
        Me.Detalle.BackColor = RGB(255, 188, 84)
        Me.Detalle.AlternateBackColor = RGB(255, 188, 84)
        Me.SecciónEncabezadoDePágina.BackColor = RGB(255, 188, 84)
    End If

He probado utilizar sentencias Case en lugar de If pero el resultado es siempre el mismo.  No tengo mucha experiencia con VBA dentro de Access, por lo que ignoro si hay una forma específica para lograr esto.

Como puedo lograr que funcione lo que necesito?

Por cierto el informe está basado en una consulta.

De antemano muchas gracias.

Odlarhg
Arriba
odlarhg Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 08/Junio/2020
Localización: Guatemala
Estado: Sin conexión
Puntos: 4
Enlace directo a este mensaje Enviado: 08/Junio/2020 a las 21:59
Hola a todos, buscando una solución logré que funcionara de esta forma

Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
    Select Case Trim(Me.Idioma)
        Case Is = "Mam"
            Me.Detalle.BackColor = RGB(255, 188, 84)
            Me.Detalle.AlternateBackColor = RGB(255, 188, 84)
            Me.Secci?nEncabezadoDeP?gina.BackColor = RGB(255, 188, 84)
        Case Is = "Kaqchikel"
            Me.Detalle.BackColor = RGB(204, 255, 255)
            Me.Detalle.AlternateBackColor = RGB(204, 255, 255)
            Me.Secci?nEncabezadoDeP?gina.BackColor = RGB(204, 255, 255)
        Case Is = "K" & Chr(39) & "iche" + Chr(39)
            Me.Detalle.BackColor = RGB(255, 204, 255)
            Me.Detalle.AlternateBackColor = RGB(255, 204, 255)
            Me.Secci?nEncabezadoDeP?gina.BackColor = RGB(255, 204, 255)
        Case Is = "Q" & Chr(39) & "eqchi" & Chr(39)
            Me.Detalle.BackColor = RGB(255, 166, 130)
            Me.Detalle.AlternateBackColor = RGB(255, 166, 130)
            Me.Secci?nEncabezadoDeP?gina.BackColor = RGB(255, 166, 130)
        Case Else
            Me.Detalle.BackColor = RGB(255, 255, 255)
            Me.Detalle.AlternateBackColor = RGB(255, 255, 255)
            Me.Secci?nEncabezadoDeP?gina.BackColor = RGB(255, 255, 255)
    End Select
End Sub
Odlarhg
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable