Thanks for the clarification, Kevin. I can see how we both got confused/misled by the question.
Now I know soooo much more about Crystal. <g>
~~Bonnie
>Just as a follow-up, the load function isn't necessary, depending on how the report is being generated. With a strongly-typed report, you can instantiate it by the class name and then set the preview window's reportsource to the report object, like so...
>
>RPT_MyReport oReport = new RPT_MyReport();
>oReport.Database.Tables[0].SetDataSource(MyReportTable);
>myViewer.ReportSource = oReport;
>
>In that case, the report gets compiled into the app (which can be a benefit or drawback, depending on the situation).
>
>So in that instance, yes, reflection would be the only way if you wanted to handle the name dynamically. From the lines of code that were posted, that was the direction I thought he was headed.
>
>But if you're using other methods, (untyped, report was created outside of .NET), then the report name/path can be handled by the code in his follow-up post.
>
>Kevin