Unfortunately, reports are handled differently. I generally struggle through reports; it usually take me a while to get them formatted the way I want. My recommendation is to create a query that brings in the same tables used in the form/subform. Then create the report based on that query. You will have to play with the grouping levels to get the report to look like you want. The report will show all records (that is OK). Then on your main form, add a command button that uses the wizard to print the report. You can then edit the code to just print the report for the current record.
The initial code that Access creates via the wizard will look something like this (my report was named myRPT)
Code:
Private Sub Command20_Click()
On Error GoTo Err_Command20_Click
Dim stDocName As String
stDocName = "myRPT"
DoCmd.OpenReport stDocName, acPreview
Exit_Command20_Click:
Exit Sub
Err_Command20_Click:
MsgBox Err.Description
Resume Exit_Command20_Click
End Sub
You will only need to edit the DoCmd statement to reference the primary key of the current record and use that to filter the report. The statement will look something like this (you will have to substitute your own field and control names); I have set the command to do a print preview rather than a direct printing of the report.:
DoCmd.OpenReport stDocName, , , "OrderNumberID=" & Me.OrderNumberID, acPreview
the OrderNumberID refers to the primary key field in the query which should be the underlying field in your form as well
the Me.OrderNumberID refers to the control on the form