The fact that you don't see sourceobject in intellisense doesn't mean much.
I disagree with that statement as it relates to this problem. In this case, it means everything. Recordsource and sourceobject are always properly exposed by intellisense.
The absolute only way that sourceobject does not appear in intellisense and recordsource does, is that the OP is not referencing a subform control but is referencing a form object. This has been previously stated correctly in this thread by others.
If a proper reference to a subform control is made then sourceobject will be available and not recordsource.
Me.subformControlName.SourceObject = "NameOfForm"
If a proper reference to a form inside a subform control is made then recordsource will be available and not sourceobject.
Me.SubformControlName.Form.Recordsource = "NameOfTableOrQuery"