Conditional Formation only works when GotFocus

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • reginaldmerritt
    New Member
    • Nov 2006
    • 201

    Conditional Formation only works when GotFocus

    I have code that selects a record from a PopUp Search Form which then sets a bound control for that record ([HighlightLine)] to True. It then sets conditional formatting based on that control for various other controls.

    Conditional Formatting is Expression: "[HighlightLine] = True"

    This works fine but only if I click directly onto a control with the formatting, i.e only when a control has focus, otherwise the controls Conditional Formatting does not apply.

    Does Expression Formatting only apply when a control has focus or is there another setting somewhere?

    Thanks
  • reginaldmerritt
    New Member
    • Nov 2006
    • 201

    #2
    This is the code I'm using. Is there anything in here that makes expression conditional formatting only work when the control has focus?

    Any help would be great.

    Code:
    Private Sub ViewCallLog_Click()
     Dim rst As Recordset
     Dim lngYellow As Long
    
    lngYellow = RGB(255, 255, 0)
     
    If CurrentProject.AllForms("FRMClaims").IsLoaded Then
        DoCmd.Close acForm, "FRMClaims"
        
        DoCmd.OpenForm "FRMClaims"
        
        'Run query Set to False previous fields where HilightLine = True
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "QYUpdateTBClaimsHighlightLine"
        DoCmd.SetWarnings True
    
        'Set focus to selected record
        'Forms!FRMClaims.ClaimsDisplaySubForm.Form.CompleationStatusID.SetFocus
        
        Set rst = Forms!FRMClaims.ClaimsDisplaySubForm.Form.RecordsetClone
     
        rst.FindFirst "[ClaimID] = " & Me.ClaimID
     
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.Bookmark = rst.Bookmark
     
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.CompleationStatusID.SetFocus
    
        rst.Close
        
        Set rst = Nothing
        
        
        'Set Feild on Table to true on record that has focus(as laid out above)
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.HighlightLine = True
        
        'Remove Format Conditions
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.LearnerFullName.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.AssessorID.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.QualificationID.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.Level.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.EmployerID.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.FundingStreamID.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.StartDate.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.PlannedEndDate.FormatConditions.Delete
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.ActualEndDate.FormatConditions.Delete
        
        'Add Format Conditions
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.LearnerFullName.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.LearnerFullName.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.AssessorID.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.QualificationID.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.Level.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.EmployerID.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.FundingStreamID.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.StartDate.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.PlannedEndDate.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        Set objFrc = Forms!FRMClaims.ClaimsDisplaySubForm.Form.ActualEndDate.FormatConditions.ADD(acExpression, , "[HighlightLine] = True")
        'Set Format Conditions
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.LearnerFullName.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.AssessorID.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.QualificationID.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.Level.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.EmployerID.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.FundingStreamID.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.StartDate.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.PlannedEndDate.FormatConditions(0).BackColor = lngYellow
        Forms!FRMClaims.ClaimsDisplaySubForm.Form.ActualEndDate.FormatConditions(0).BackColor = lngYellow
    
    End If
    
    If CurrentProject.AllForms("FRMHome").IsLoaded Then
        MsgBox ("FRMHome IsLoaded")
        DoCmd.Close acForm, "FRMHome"
        DoCmd.OpenForm "FRMCallLog", , , "[ClaimID] =" & Me.ClaimID
    End If
    
    If CurrentProject.AllForms("FRMLearnersDetails").IsLoaded Then
        DoCmd.Close acForm, "FRMLearnersDetails"
        DoCmd.OpenForm "FRMCallLog", , , "[ClaimID] =" & Me.ClaimID
    End If
        
    DoCmd.Close acForm, "FRMBasicLearnerSearch"
    
    End Sub

    Comment

    Working...