You need to set the connection for the tables for the report prior to viewing the report. That way it will look for the report in the current folder. Using the ReportDocument object model and C#, the code looks something like this:
crReport = new ReportDocument();
crReport.Load(@rptPath + reportName);
CrystalDecisions.Shared.ConnectionInfo connectionInfo =
new CrystalDecisions.Shared.ConnectionInfo();
connectionInfo.ServerName = <dbServer>;
connectionInfo.UserID = <user ID>
connectionInfo.Password = <password>;
Tables tables = reportDocument.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo tableLogonInfo = table.LogOnInfo;
tableLogonInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogonInfo);
}
We use Oracle for our data, so the lines in red are for connecting to Oracle. You'll need to check the documentation and change them as neede for your access database. Also, if your report contains any subreports, you'll also have to walk through all of the objects in all of the sections in the report to see if the object is a subreport and then set the ConnectionInfo for each of the tables in the subreport as well.