Access - URGENTE: Informe con colores

 
Vista:

URGENTE: Informe con colores

Publicado por Alberto (3 intervenciones) el 23/01/2007 18:14:48
Holas,

mi pregunta es sencilla, lo que no se si es sencilla es la respuesta, suponiendo que la haya.

Tengo un informe en la seccion detalle hay 5 cuadros de texto, asociados a la consulta que pretendo que se muestre.

Yo lo que querria es que dependiendo del valor de cada uno d elos 5 cuadros de texto, el fondo de dichos cuadros de texto cambiase, al igual que el color del texto.

La finalidad es dar realce a determinados datos en funcion del valor.

ALGUIEN ME PODRIA AYUDAR. GRACIAS

El codigo que he puesto y no funciona es el siguiente:

Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)

Dim lngRojo, lngAmarillo, lngBlanco, lngNegro, lngVerde As Long
lngRojo = RGB(255, 0, 0)
lngNegro = RGB(0, 0, 0)
lngVerde = RGB(0, 255, 0)
lngAmarillo = RGB(255, 255, 0)
lngBlanco = RGB(255, 255, 255)

If Me.T1_ocupacion = "NO DISPONIBLE" Then
Me.T1_ocupacion.BackColor = lngRojo
Me.T1_ocupacion.ForeColor = lngNegro
Else
If Me.T1_ocupacion = "LIBRE" Then
Me.T1_ocupacion.BackColor = lngVerde
Me.T1_ocupacion.ForeColor = lngNegro
Else
Me.T1_ocupacion.BackColor = lngBlanco
Me.T1_ocupacion.ForeColor = lngNegro
End If
End If

If Me.T2_ocupacion = "NO DISPONIBLE" Then
Me.T2_ocupacion.BackColor = lngRojo
Me.T2_ocupacion.ForeColor = lngNegro
Else
If Me.T2_ocupacion = "LIBRE" Then
Me.T2_ocupacion.BackColor = lngVerde
Me.T2_ocupacion.ForeColor = lngNegro
Else
Me.T2_ocupacion.BackColor = lngBlanco
Me.T2_ocupacion.ForeColor = lngNegro
End If
End If

If Me.T3_ocupacion = "NO DISPONIBLE" Then
Me.T3_ocupacion.BackColor = lngRojo
Me.T3_ocupacion.ForeColor = lngNegro
Else
If Me.T3_ocupacion = "LIBRE" Then
Me.T3_ocupacion.BackColor = lngVerde
Me.T3_ocupacion.ForeColor = lngNegro
Else
Me.T3_ocupacion.BackColor = lngBlanco
Me.T3_ocupacion.ForeColor = lngNegro
End If
End If

If Me.T4_ocupacion = "NO DISPONIBLE" Then
Me.T4_ocupacion.BackColor = lngRojo
Me.T4_ocupacion.ForeColor = lngNegro
Else
If Me.T4_ocupacion = "LIBRE" Then
Me.T4_ocupacion.BackColor = lngVerde
Me.T4_ocupacion.ForeColor = lngNegro
Else
Me.T4_ocupacion.BackColor = lngBlanco
Me.T4_ocupacion.ForeColor = lngNegro
End If
End If
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE: Informe con colores

Publicado por Enrique (1299 intervenciones) el 23/01/2007 19:44:29
El Evento donde lo pones es correcto pero tienes que poner ElseIf en todos menos en el último que ya no tiene condición, en lugar de solo Else y debajo el If, pues parece lo mismo pero no lo es.

Prueba así:

If Me.T1_ocupacion = "NO DISPONIBLE" Then
Me.T1_ocupacion.BackColor = lngRojo
Me.T1_ocupacion.ForeColor = lngNegro
ElseIf Me.T1_ocupacion = "LIBRE" Then
Me.T1_ocupacion.BackColor = lngVerde
Me.T1_ocupacion.ForeColor = lngNegro
Else
Me.T1_ocupacion.BackColor = lngBlanco Then
Me.T1_ocupacion.ForeColor = lngNegro
End If
End If <---- Este te sobra, quítalo en todos los bloques

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE: Informe con colores

Publicado por Alberto (3 intervenciones) el 25/01/2007 10:58:10
Gracias Enrique,

pero me faltaba ademas añadir esta sentencia.

Me.T2_ocupacion.BackStyle = 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar