The prg approach is good if you plan to call it from more than one place. If instead
the report only gets called from this form, after the users answer all the questions, you could add a custom method to your form that runs the report.
So after filling the form, the main button, something like cmdPrint, could run a method, like ThisForm.DoReport that queries and prepares the data and does a report form xxx
>>>>>>>>>>>>>>>>>>
On my form, the user specifies the selection criteria and format for a report to be created. I then DO a program that creates the appropriate report. I have always used public variables for passing the information from the form to the program.
>>>>>>>>>>>>>>>>>>