To output a .pdf file you need to use the OutPutTo Method (please read the help entry so you understand the possible arguments):
DoCmd.OutputTo , acOutputReport, acFormatPDF, "C:\Data\Rptxyz" & Me.RecID & "_" & Format(Date(), "yyyymmdd") & ".pdf" - this will create a name like C:\Data\Rptxyz12345_20120104.pdf -
Change the red part to the path and reportname you want to use. The green part is variable and should probably be the unique identifier for the record.
You could also make the path more variable so it includes the reportname and date for example - "C:\ReportOutputs\" & Me.ReportName & Format(Date(),"yyyymmdd") & "\" & Me.RecID & ".pdf" - this will put the file in a folder named something like "C:\ReportOutputs\ExecutiveSummary20120104\12345.pdf - you need to decide on a naming scheme that will be meaningful and allow you to run the same report multiple times. Or, each time you run a set of reports, add code to delete the previous pdf's. That way you can keep reusing the same names.
The tricky part here is filtering the report since the OutputTo Method does not give you a "where" option like the OpenReport Method does.
1.Create a form to use to run this process.
2.Add a hidden field to hold the RecID
3.Add a button to start the process.
4.In the loop, instead of passing the RecID as an argument, save it to the hidden form field - Me.HiddenRecID = rst!RecID
5.Modify the query used as the RecordSource for the report to reference this form field. The where clause will be something like - Where RecID = Forms!yourformname!HiddenRecID