Private Sub Form_Current()
If Not IsNull(DLookup("ID", "MSysObjects", _
"(Name = 'Paste Errors') AND (Type = 1)")) Then
Me.cmdViewPasteErrors.Visible = True
Me.cmdDeletePasteErrors.Visible = True
Else
Me.cmdViewPasteErrors.Visible = False
Me.cmdDeletePasteErrors.Visible = False
End If
RemoveFormatConditions
AddFormatConditions
End Sub
Public Sub RemoveFormatConditions()
Dim con As FormatCondition
For Each con In Me.cboFinishID.FormatConditions
con.Delete
Next con
End Sub
Public Sub AddFormatConditions()
Dim rs As DAO.Recordset
Dim color As Long
Dim Finish As Long
Dim con As FormatCondition
Dim strSql As String
Set rs = CurrentDb.OpenRecordset("qryColors")
strSql = "SELECT LI.SalesOrderID, LI.FinishID, C.HextoRGB FROM tblSOLineItems AS LI INNER JOIN qryColors AS C ON LI.FinishID = C.FinishID "
strSql = strSql & "WHERE Li.SalesOrderID = " & Me.SalesOrderID
strSql = strSql & " GROUP BY LI.SalesOrderID, LI.FinishID, C.HextoRGB"
Do While Not rs.EOF
color = rs!hextorgb
Finish = CLng(rs!FinishID)
Set con = Me.cboFinishID.FormatConditions.Add(acFieldValue, acEqual, Finish)
With con
'forcolor if you wanted
.BackColor = color
End With
rs.MoveNext
Loop
End Sub