The only way I know how to accomplish this is to filter the report and save it that way, then save it to a snapshot, then attach it to an email. I know it is a bit of a work around but there is no way that I know of to seperate several records into single snap shot reports.
Maybe an example would help clarify what I am trying to explain.
Say you have a query that returns Student Grades. Fields returned are Student Name, Student ID and Grade. Now you want to create a report for each student. If you were simply printing these you could use a loop to print the report one student at a time with
DoCmd.OpenReport "StudentGrade",adViewNormal,,"StudentID=3"
However, when Outputting to a Snapshot you can't do it this way. You would have to open the report in design view change the Record Source to be something like "SELECT * FROM Students WHERE StudentID=3". Then save the report and then output it to a snapshot.
It sounds complicated but the code is not too bad. Also, if you want to email all these seperate reports on a single email, you could incorperate it all into the same loop.
Let me know if this is what you might want to do and I will give you a sample of code to do it.
Hope this helps.
OnTheFly