Expand|Select|Wrap|Line Numbers
- Function LoadFormOrReportLabels(FormOrReport As Integer, MainFormOrReportName As String, SubFormOrReportName As String)
- 'Debug.Print LoadFormOrReportLabels(1, 1, "FrmMsgBox", "FrmMsgBox")
- Dim TypeOfObject As Object
- On Error GoTo LoadFormOrReportLabels_Err
- If FormOrReport = 1 Then ' Forms
- If MainFormOrReportName = SubFormOrReportName Then
- Set TypeOfObject = Forms(MainFormOrReportName)
- Else
- Set TypeOfObject = Forms(MainFormOrReportName)
- Set TypeOfObject = TypeOfObject.Controls(SubFormOrReportName).Form
- If IsNull(TypeOfObject.Tag) Then
- TypeOfObject.Tag = TypeOfObject.Parent.Tag
- End If
- End If
- ElseIf FormOrReport = 2 Then ' Reports
- If MainFormOrReportName = SubFormOrReportName Then
- Set TypeOfObject = Reports(MainFormOrReportName)
- Else
- Set TypeOfObject = Reports(MainFormOrReportName)
- Set TypeOfObject = TypeOfObject.Controls(SubFormOrReportName).Report
- If IsNull(TypeOfObject.Tag) Then
- TypeOfObject.Tag = TypeOfObject.Parent.Tag
- End If
- End If
- End If
Surprisingly the line
Set TypeOfObject = TypeOfObject.Controls(SubFormOrReportName).Form
works perfectly for forms, but
Set TypeOfObject = TypeOfObject.Controls(SubFormOrReportName).Report
fails for subreports giving error 2455 You entered an expression that has an invalid reference to the property Form/Report.
Apart from the TAG property, I later need to refer to all the controls on the subreport, but my guess is that if I can get to the Tag, I can get to the controls.
Appreciate any advice
Phil