There's probably more elegant examples than what I just came up with, but how about
Code:
Public Sub WhoYerDaddy()
Dim ctl As Control
Dim strName As String, strPrint As String
Dim obj As AccessObject
On Error GoTo errHandler
For Each obj In Application.CurrentProject.AllForms
strName = obj.Name
DoCmd.OpenForm strName, acDesign 'open in design view to enumerate controls & prevent running code
For Each ctl In Forms(strName).Controls
'if type is subform control, build print statement with attributes
If ctl.ControlType = acSubform Then
strPrint = "Form Name: " & strName & "; Subform Control Name: " & ctl.Name
strPrint = strPrint & "; Source Object: " & ctl.Form.Name
Debug.Print strPrint
End If
SkipPrint:
Next
DoCmd.Close acForm, strName
Next
Exit Sub
errHandler:
If Err.Number = 2467 Then 'trying to get an attribute that doesn't exist (source object)
Debug.Print "Subform control [" & ctl.Name & "] on form [" & strName & "] appears to have no source object."
Resume SkipPrint
Else
MsgBox Err.Number & ": " & Err.Description
End If
End Sub