Hi everyone.
I'm trying to make 12 different fields turn red if the value inside the field is outside a certain range. It works if the field is checked individually, but I would like to practice making arrays and not copying me code 12 times.
I'm told that "LaserField(12).BackColor = RGB(255, 255, 255)" & "LaserField(12).BackColor = RGB(255, 0, 0)" is missing an object. But I thought I had defined my objects. Please help me make sense of this.
Code which works:
Code:
Private Sub Laser1_AfterUpdate()
Dim checkerror As Integer
checkerror = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelLeft]![Laser1]
If checkerror >= 450 And checkerror <= 550 Then
Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelLeft]![Laser1].BackColor = RGB(255, 255, 255)
Else
Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelLeft]![Laser1].BackColor = RGB(255, 0, 0)
End If
End Sub
Code Which doesn't work, due to "no objects":
Code:
Private Sub Form_Current()
Dim checkerror As Integer
Dim LaserField(12) As Variant
LaserField(1) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser1]
LaserField(2) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser2]
LaserField(3) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser3]
LaserField(4) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser4]
LaserField(5) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser5]
LaserField(6) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser6]
LaserField(7) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser7]
LaserField(8) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser8]
LaserField(9) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser9]
LaserField(10) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser10]
LaserField(11) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser11]
LaserField(12) = Forms![Product Tests]![UF TestGigaLaserFinal].Form![UF TestGigaLaserLyspanelMid]![Laser12]
checkerror = LaserField(12)
If checkerror >= 450 And checkerror <= 550 Then
LaserField(12).BackColor = RGB(255, 255, 255)
Else
LaserField(12).BackColor = RGB(255, 0, 0)
End If
End Sub
Any help is appreciated. Thanks