Hello,
For my project, I need to change the name of the tables of my project's data
I'm using the lastest version of CR for Visual Studio in C#
To do it, I get the SQL query of the report, I change the names I want in the string and I set the new SQL query. It work perfectly
But now, I need to do the same thing with subreports and I can't do the same simple technique.
When I get the SQL statement with "myReport.ReportClientDocument.SubreportController.GetSubreport("name").RowsetController.GetSQLStatement(groupPath, out temp)" I have an error "Missing parameter values.".
And even when I bypass this problem,
I tried to redo links by changing the name of the tables
SubreportLinks subreportLinks = new SubreportLinks();
SubreportLink subreportLink = new SubreportLink();
subreportLinks.Add(subreportLink);
subreportLink.LinkedParameterName = "{?Pm-DOSSIER_HISTO.DOSS_ID_DOSSIER}";
subreportLink.MainReportFieldName = "{DOSSIER_HISTO.DOSS_ID_DOSSIER}";
subreportLink.SubreportFieldName = "{JOURNAL_VIEW.JOUR_ID_DOSSIER}";
myReport.ReportClientDocument.SubreportController.SetSubreportLinks("name", subreportLinks);
I also tried to redo RecordSelectionFormula by changing the name of the tables and despite all this I have a mistake "Invalid field name".
I can't find the solution and I need to finish this project as soon as possible. I would be very grateful if someone could help me
Request clarification before answering.
In my project there are several different tables containing the same data with the same column names but containing older data. That's why I want to change the tables dynamically. It works very well for the main report.
here is my code for the report
// Get SQL request
string request;
var groupPath = new CrystalDecisions.ReportAppServer.DataDefModel.GroupPath();
string temp = String.Empty;
myReport.SetDatabaseLogon(/*"UserId"*/, /*"Password"*/);
request = myReport.ReportClientDocument.RowsetController.GetSQLStatement(groupPath, out temp);
// Connection to data base
ConnectionInfo connectionInfo = new ConnectionInfo(myReport.Database.Tables[0].LogOnInfo.ConnectionInfo);
connectionInfo.Password = /*"PassWord"*/;
connectionInfo.ServerName = /*"ServerName"*/;
////////////////
// I add a WHERE or I change table names in the request
////////////////
// Set the new SQL request
myReport.SetSQLCommandTable(connectionInfo, "newTableName", request);Why wouldn't it work with the subreports ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.