Informes - condición en 2 campos
Maestros, a ver si me pueden dar una mano! Me están pidiendo generar un informe
en donde pueda, mostrar los datos de finalización de trabajos diarios con colores
si se sale de horario normal, no todos los trabajos finalizan en los mismos rangos
de horarios, entonces si se sale del rango horario muestre la casilla en rojo
(en particular para cada trabajo). Estuve intentando de varias formas dentro
del informe, pero me toma la condición del primero para el resto de los demás.
Les paso los datos de ejemplo (empecé para probar usando números en lugar de
horas, para simplificar el inicio del diseño)
tabla usada
Procesos fin (títulos)
Cámara 3
Pasivas 4
idp 5
Código probado
Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
Dim procesos As Variant
Dim form As Variant
Dim regi As Variant
form = Me
regi = Me.CurrentRecord
For Each regi In form
Select Case Me.procesos.Value
Case "pasivas"
If Me.fin.Value > 10 Then
Me.fin.BackColor = 23232
End If
Case "idp"
If Me.fin.Value > 10 Then
Me.fin.BackColor = 25445
End If
Case "camara"
If Me.fin.Value > 0 Then
Me.fin.BackColor = 255
End If
End Select
Next
en donde pueda, mostrar los datos de finalización de trabajos diarios con colores
si se sale de horario normal, no todos los trabajos finalizan en los mismos rangos
de horarios, entonces si se sale del rango horario muestre la casilla en rojo
(en particular para cada trabajo). Estuve intentando de varias formas dentro
del informe, pero me toma la condición del primero para el resto de los demás.
Les paso los datos de ejemplo (empecé para probar usando números en lugar de
horas, para simplificar el inicio del diseño)
tabla usada
Procesos fin (títulos)
Cámara 3
Pasivas 4
idp 5
Código probado
Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
Dim procesos As Variant
Dim form As Variant
Dim regi As Variant
form = Me
regi = Me.CurrentRecord
For Each regi In form
Select Case Me.procesos.Value
Case "pasivas"
If Me.fin.Value > 10 Then
Me.fin.BackColor = 23232
End If
Case "idp"
If Me.fin.Value > 10 Then
Me.fin.BackColor = 25445
End If
Case "camara"
If Me.fin.Value > 0 Then
Me.fin.BackColor = 255
End If
End Select
Next
1 Respuesta
Respuesta de asturcon3
1