Dsr形式のレポートをRPX形式のレポートに変更する手順を知りたい
対象製品
ActiveReports 2.0J Professional
詳細
ActiveReports 2.0J のレポート形式には、レポートデザイナを含むDsr形式とレポートのレイアウト情報のみをXML形式で管理するRPX形式の2つの方式が用意されております。
Dsr形式とRPX形式のどちらの形式でも同じレポートを作成することができますが、以下のような特長があります。
Dsr形式で作成したレポートは、RPX形式で保存することが可能です。(逆にRPX形式のファイルをDsr形式のレポートにロードすることも可能です。)
ただし、前述の通り、RPXファイルに格納されるのはレポートのレイアウト情報とスクリプトコードのみであるため、Visual Basicのイベントプロシージャとして記載されたコードは保存されません。
したがって、Dsr形式をRPX形式に変更する場合は、予めVisual Basicのコードを全てスクリプトコードに変更しておく必要があります。
Dsr形式のレポートを RPX形式に変更してプロジェクト構成を変更する手順は、概ね以下のようになります。
変更手順は以上です。
なお、RPX形式のレポートを直接編集する機能(デザイナ)は、用意されておりません。
RPX形式のレポートを編集するには、一旦 Dsr形式のレポートオブジェクトに RPXファイルをロードし、デザイナで編集してから、再度 RPXファイルに出力する必要があります。
RPXファイルを編集するための作業用プロジェクトを別途作成したり、上記手順のⅳが完了した段階のプロジェクトをRPXファイル編集用にバックアップしておくなどの対処をご検討ください。
Dsr形式とRPX形式のどちらの形式でも同じレポートを作成することができますが、以下のような特長があります。
- Dsr形式
Dsr形式はアプリケーション内部に埋め込まれて動作するため、レポートレイアウトやコードを変更するには Visual Studio の開発環境が必要であり、変更した時にはアプリケーションのリコンパイルと実行環境への再配布が必要になります。
Visual Basic のイベントプロシージャとしてコードを記載することができ、プロジェクト内部のその他のフォームやクラス、モジュールと連携した処理を容易に実装することが可能です。
また、ビューワ要素も兼ね備えているため、Windowsフォームアプリケーションではレポートのプレビュー/印刷機能を実装することも容易な形式です。 - RPX形式
RPX形式はアプリケーションから独立して管理することができ、エンドユーザーデザイナで編集することが可能な形式です。(開発環境以外でもレポートのレイアウトを編集することが可能です。)
そのため、レポートのレイアウトを変更しても、アプリケーション自体をリコンパイルしたり、再配布する必要がありません。
ただし、RPX形式ファイルに格納されるのはレポートのレイアウト情報とスクリプトコードのみです。Visual Basicのイベントプロシージャとして記載されたコードは格納されません。レポートに独自の処理を実装したい場合には、ActiveReports 独自のスクリプトエディタを使用して、スクリプトとして記述する必要があります。
Dsr形式で作成したレポートは、RPX形式で保存することが可能です。(逆にRPX形式のファイルをDsr形式のレポートにロードすることも可能です。)
ただし、前述の通り、RPXファイルに格納されるのはレポートのレイアウト情報とスクリプトコードのみであるため、Visual Basicのイベントプロシージャとして記載されたコードは保存されません。
したがって、Dsr形式をRPX形式に変更する場合は、予めVisual Basicのコードを全てスクリプトコードに変更しておく必要があります。
Dsr形式のレポートを RPX形式に変更してプロジェクト構成を変更する手順は、概ね以下のようになります。
- スクリプトの実装
レポートに実装されているVisual Basicのコードを全てスクリプトコードに変更します。
(※レポートにVisual Basicのコードを実装していない場合、ⅲの手順から行ってください。)
スクリプトの実装方法については、以下のヘルプトピックや付属サンプルをご参考ください。
◆ヘルプトピック
ActiveReportsを使うにあたって
- スクリプティング
◆付属サンプル
..¥Samples¥ProWeb
..¥Samples¥Visual Basic Samples¥Scripting
..¥Samples¥Visual Basic Samples¥Auto Email from RPX
..¥Tutorial¥スクリプト¥DSRを使用しないスクリプト
..¥Tutorial¥Professional Ed¥スクリプトの使い方¥AddCodeの使い方
..¥Tutorial¥Professional Ed¥スクリプトの使い方¥AddNamedItemの使い方 - スクリプトの動作確認
レポート内のVisual Basicのコードを全てコメントアウトした上でアプリケーションをコンパイルし、スクリプトに全てコードを変更した状態でアプリケーションが正常に動作することを確認します。 - RPX形式でファイル保存
デザイナメニューから[ファイル]-[保存]を選択してください。Dsr形式のレポートから RPXファイルを作成します。
本操作については、以下のヘルプトピックもご覧ください。
ActiveReportsを使うにあたって
- 保存とロード
- RPXファイル(レポートレイアウト)の保存とロード - 処理構造の変更
手順ⅲで作成したRPXファイルを動的に読み込んで、実行するような処理構造(Dsr形式のレポートを使用しない処理構造)に変更します。
実装方法については、手順ⅰやⅲでご案内したヘルプトピック・付属サンプルや、以下の付属サンプルをご参考ください。
..¥Samples¥Visual Basic Samples¥RPX Loader
..¥Tutorial¥保存とロード¥レポートレイアウト - Dsr形式レポートの削除
RPX形式に変更したDsr形式のレポートをプロジェクトから削除し、その状態でプロジェクトが正常にコンパイル・実行できることを確認します。
変更手順は以上です。
なお、RPX形式のレポートを直接編集する機能(デザイナ)は、用意されておりません。
RPX形式のレポートを編集するには、一旦 Dsr形式のレポートオブジェクトに RPXファイルをロードし、デザイナで編集してから、再度 RPXファイルに出力する必要があります。
RPXファイルを編集するための作業用プロジェクトを別途作成したり、上記手順のⅳが完了した段階のプロジェクトをRPXファイル編集用にバックアップしておくなどの対処をご検討ください。
関連情報
- [ACRP06689] スクリプトのOnErrorイベント内でCancelDisplay=Trueにしても、エラーダイアログが表示されてしまう
- スクリプト内で記述した正常なコードが、実行時にエラーとなったり、全く実行されないときがあります。
- スクリプト上から、LoadPicture関数で画像を読み込むと、「書き込みできません」というエラーが発生します。
- RPXファイルで保存したレポートを、サブレポートとして読み込む方法は?【※サンプル有り】
キーワード
HowTo Web 移行・共存