私は2つのアプリケーションを持っています:
- 1.レポート用のデータを準備するアプリ-C#(.Net 1.1)
- 2.レポートを表示するアプリ-C++(多分)
最初のアプリは、レポートファイル名、レポートパラメーターなどのパラメーターをコマンドライン経由で2番目のアプリに送信します。次に、2番目のアプリは準備されたレポートを表示します。
ここで、いくつかのレポートフィールドを変更したいと思います。最初のアプリの私のコード:
ReportDocument rDoc = new ReportDocument();
rDoc.Load(@"D:\reports\report_1.rpt");
rDoc.Database.Tables[0].Location = "newDBName.schema.oldTableName";
rDoc.SaveAs(@"D:\reports\report_1_modif.rpt",ReportFileFormat.VSNetFileFormat);
アーカイブデータベースからデータを取得したいので、rptファイルを変更したい。「CrystalDecisions.CrystalReports.Engine」の参照バージョンは9.1.5000.0です。そのため、バージョンに互換性がないため、2番目のアプリは変更されたrptファイルを使用できません。2番目のアプリは8.5ファイル形式でのみ動作します。
CR Developerでrptファイルを開くと、手動で場所を変更して8.5ファイル形式で保存できます。この場合、2番目のプログラムは通常変更されたファイルで動作します。
だから私の質問は:「.NetC#でrptファイル8.5を開き、変更して別の名前で8.5形式で保存するにはどうすればよいですか?」たぶん私はいくつかのアンマネージコードを使用する必要がありますか?
CrystalReports8.5は2001年にリリースされました。.Netは2002年にリリースされました。