In reference to Part 1, here is some code from a project where I had multiple subforms, but wanted to show them conditionally.
Code:
Private Sub Form_Current()
WhatToShow
End Sub
Private Sub WhatToShow()
On Error Resume Next
Select Case Forms("frmCapActLv1").Controls("subfrmCapActLv2").Controls("CapActLv2ID").Value
Case 0
[CapActLv2Share].Visible = False
[CapActLv2Share_Label].Visible = False
[subfrmCapAllocs].Visible = False
[subfrmCapAllocs_Label].Visible = False
[subfrmCapAllocsFixed].Visible = False
[subfrmCapAllocsFixed_Label].Visible = False
[subfrmCapAllocsAdd].Visible = False
[subfrmCapAllocsAdd_Label].Visible = False
Case 1 To 3
[CapActLv2Share].Visible = True
[CapActLv2Share_Label].Visible = True
[subfrmCapAllocs].Visible = False
[subfrmCapAllocs_Label].Visible = False
[subfrmCapAllocsFixed].Visible = False
[subfrmCapAllocsFixed_Label].Visible = False
[subfrmCapAllocsAdd].Visible = False
[subfrmCapAllocsAdd_Label].Visible = False
Case 4
[CapActLv2Share].Visible = False
[CapActLv2Share_Label].Visible = False
[subfrmCapAllocs].Visible = False
[subfrmCapAllocs_Label].Visible = False
[subfrmCapAllocsFixed].Visible = True
[subfrmCapAllocsFixed_Label].Visible = True
[subfrmCapAllocsAdd].Visible = False
[subfrmCapAllocsAdd_Label].Visible = False
Case 5
[CapActLv2Share].Visible = False
[CapActLv2Share_Label].Visible = False
[subfrmCapAllocs].Visible = True
[subfrmCapAllocs_Label].Visible = True
[subfrmCapAllocsFixed].Visible = False
[subfrmCapAllocsFixed_Label].Visible = False
[subfrmCapAllocsAdd].Visible = False
[subfrmCapAllocsAdd_Label].Visible = False
Case Else
[CapActLv2Share].Visible = False
[CapActLv2Share_Label].Visible = False
[subfrmCapAllocs].Visible = False
[subfrmCapAllocs_Label].Visible = False
[subfrmCapAllocsFixed].Visible = False
[subfrmCapAllocsFixed_Label].Visible = False
[subfrmCapAllocsAdd].Visible = True
[subfrmCapAllocsAdd_Label].Visible = True
End Select
On Error GoTo 0
End Sub