Formato condicional en informe access
Publicado por Itziar (50 intervenciones) el 13/10/2020 13:53:53
Hola!!
Tengo un problemilla y no se como solucionarlo, a ver si me podéis ayudar!
Tengo un informe que tiene una serie de campos, y quiero que cambie de color según un valor determinado de cada campo, para ello tengo un campo auxiliar para cada campo que quiero que cambie de valor.
Es un informe tabular.
Campo 1 donde está el valor, campo 2, donde meto la letra de quiero del campo 1 y con esa letra hago formato condicional.
Estos campos tienen un valor string. Se que a los 12 digitos tiene una letra fija y al darle formato pongo este código:
El caso es que si pongo este codigo:
en el evento al dar formato, no me mete ningún valor en el campo1 y por tanto no va el condicional.
Si meto ese mismo codigo en el evento al pintar, si que me va todo bien, pero como que el informe entra en bucle y no para, esta todo el rato como refrescando.
Alguien me podría ayudar??
muchas gracias a todos!! realmente estoy atascada aquí.
Tengo un problemilla y no se como solucionarlo, a ver si me podéis ayudar!
Tengo un informe que tiene una serie de campos, y quiero que cambie de color según un valor determinado de cada campo, para ello tengo un campo auxiliar para cada campo que quiero que cambie de valor.
Es un informe tabular.
Campo 1 donde está el valor, campo 2, donde meto la letra de quiero del campo 1 y con esa letra hago formato condicional.
Estos campos tienen un valor string. Se que a los 12 digitos tiene una letra fija y al darle formato pongo este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
If Not IsNull(Reports!mireport![campo1].Value) Then
mimotivoc1 = Reports!mireport![campo1].Value
mivariablec = Left(mimotivoc1, InStr(mimotivoc1, "-") + 2)
mivariablec = Right(mivariable, 1)
Me.micampo2 = mivariablec
End If
SetControlFormatting
End Sub
Private Sub SetControlFormatting()
If (IsNull(Me.micampo2) Or Me.micampo2 = "0") Then
Me.[micampo1].BackColor = vbWhite
Exit Sub
End If
If (Me.micampo2 = "S") Then
Me.[1micampo1].BackColor = vbGreen
endif
If (Me.campo1 = "N") Then
Me.[micampo2].BackColor = vbYellow
Exit Sub
End If
End Sub
Private Sub Detalle_Paint()
SetControlFormatting
End Sub
El caso es que si pongo este codigo:
1
2
3
4
5
6
If Not IsNull(Reports!mireport![campo1].Value) Then
mimotivoc1 = Reports!mireport![campo1].Value
mivariablec = Left(mimotivoc1, InStr(mimotivoc1, "-") + 2)
mivariablec = Right(mivariable, 1)
Me.micampo2 = mivariablec
End If
en el evento al dar formato, no me mete ningún valor en el campo1 y por tanto no va el condicional.
Si meto ese mismo codigo en el evento al pintar, si que me va todo bien, pero como que el informe entra en bucle y no para, esta todo el rato como refrescando.
Alguien me podría ayudar??
muchas gracias a todos!! realmente estoy atascada aquí.
Valora esta pregunta


0