A subform can be created by using a wizard, so I don't think we need to elaborate on that.
A DLookup works like this:
Me.TextBox.Value = DLookup("[FieldnameYouWantToDisplay]", "[NameOfYourQuery]", "[CONDITION]")
The [CONDITION] part is optional. If your query only returns one record, you...