Q:

MS Access - Hide Columns on Subform

I have a nagging issue today - 
Task:

I have a subform on a form, based on a query
When I open the form I want to hide a subset of columns by default
I created a Public function for this: hideRawCols()

Issue:

Using the subform's OnLoad or OnOpen events, the subform is ignoring the function, columns are not hidden when form/subform is painted
I have an Option toggle on the form that calls this same function, and it works just fine. [(1) = Show, (2) Hide], Default value (2)

Example:
Public Function hideRawCols()

If Forms![2_4_6 QA Review]!frmRaw.Value = 2 Then
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Item").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Desc").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfg").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfgid").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Area").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Depart").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Pack").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Uom").Properties("ColumnHidden") = True
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Cost").Properties("ColumnHidden") = True
Else
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Item").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Desc").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfg").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfgid").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Area").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Depart").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Pack").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Uom").Properties("ColumnHidden") = False
    Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Cost").Properties("ColumnHidden") = False
End If

End Function

My intuition tells me its a timing issue Loading or Opening the form/subform.  Are there any events I can use once the form is fully painted.  A small blink woulf be acceptable.
Thanks!

A:

I notice:  Calling the function from the Parent Form's OnLoad event seems  to produce the desired results.

