You can prevent a subreport from splitting across a page
boundary by putting it in its own section and setting the
section's KeepTogether property.
To get an additional section use Sorting and Grouping to
create a group with Header and/or Footer. If the subreport
is in the detail section, then group on the record source
table/query's primary key field. If it's in the report
footer, group on a constant expression such as =1.