Could you please post a small sample with the form and table (please no sensitive data, just some "dummy" records to illustrate the issue)? Do you get the error when you open the main form? The subforms load before the form so at that time the unbound controls are empty (even if you set up default values as you should). Usually what I do is load the subform with all records (so the recordsource is the entire table or a query based on it with no criteria, maybe some sorting). Then once you populate the unbound controls click a button to "Refresh" the subform - it is just a matter of adding one line of code to the click event of the button:
Code:
Me.sfrmContacts.RecordSource="qryYourQueryThatReferencesTheFormControls"
Cheers,