"I need to show the user a list of the reports in the database, and let them select the one they want."
Here's a way to list of all of the reports:
SELECT Name FROM MSysObjects WHERE Type=-32764;
I will use that to populate a combo box, and let the user select from that. Most of the time I'll add a special prefix and filter (and hide) it, so I can show them just the ones they need to see. For example: like this:
SELECT RIGHT(Name, LEN(Name)-3) AS TheReport FROM MSysObjects WHERE (Type=-32764) AND (LEFT(Name,3)="wiz");
wizTool Replacement Codes, displays as Tool Replacement Codes, but
rptJobTicketFile doesn't show because it doesn't have the magic prefix.