CrystalReport 印刷 概要 レポート作成ツールの利点 データの取得は難しく無い 例えば コードを記述してレコードセットをループし 目的の Windows アプリケーションや Web のアプリケーションに出力出来る.NET Framework 環境では 更に其のデータを Repeater DataList 又は DataGrid 等のコントロールにバインドする事も可能で有る 併し 此のデータを一定のレポート形式で表示するには 複雑な操作が必要と成る 連結 複数レベルの集計 チャート作成 条件付き書式設定 及び ページ単位の出力等 レポート機能のプログラミングは 難解で時間の懸かる作業で有る Crystal Reports を使えば 複雑なレポートを簡単に作成 及び 配布する事が出来る Crystal Reports とは Crystal Reports は 1993 年から Visual Studio 製品群に加えられ 現在では Visual Studio 2005 用の標準レポート作成ツールに成って居る Crystal Reports は Visual Studio 2005 の全製品に同梱され 開発環境に直接統合されて居る Crystal Reports for Visual Studio 2005 に依り Windows 環境に視覚効果の高い対話型のレポートを作成する機能が付加される Crystal Reports for Visual Studio 2005 を使用すると GUI ベースのプログラムで複雑 且つ 専門的なレポートを作成出来る 然して 作成したレポートを殆ど総てのデータベースソースや 結果セット (ADO.NET データセット等 ) 等のプロキシデータに接続出来る GUI デザイナ内のウィザードを使用して 書式設定 グループ化 チャート作成等の条件を簡単に設定する事が出来る 作成したレポートは Crystal Reports for Visual Studio 2005 のビューアコントロールの 1 つを使用して Web アプリケーションや Windows アプリケーションの孰れかでホスト出来る Windows クライアント 及び HTML 3.2 又は 4.0 クライアントでのレポートプレゼンテーションでは 高度な対話的操作が可能で チャートのドリルダウン レポートのナビゲーション 文字列の検索等の機能が提供される Crystal Reports for Visual Studio 2005 は 拡張 SDK を同梱して居る 此の SDK に依り 次の 4 つのオブジェクトモデルの内の 1 つを使用して 実行時にプログラムに依ってレポートと対話出来る CrystalReportViewer( 最も単純なオブジェクトモデル ) ReportDocument( 拡張オブジェクトモデル ) 次のオブジェクトモデルはアップグレードに依って入手出来る ReportClientDocument( 最も高度な拡張オブジェクトモデル ) InfoObject(Crystal Reports Server や BusinessObjects Enterprise のフレームワークでレポートのスケジューリングと設定を行う為の強力なオブジェクトモデル ) ReportClientDocument オブジェクトモデルと InfoObject オブジェクトモデルは Report Application Server(RAS) に含まれて居る 此等のソリューションには ライセンスのアップグレードが必要で有る -1-
作成したレポートは 次の様な多くの方法で Visual Studio 2005 プロジェクトに関連付ける事が出来る レポートを直接プロジェクトに埋め込む ファイルディレクトリから外部的にレポートにアクセスする リモートサーバーからレポート Web サービスと仕てレポートにアクセスする Crystal サービスと仕てレポートに接続する Crystal Reports サーバーへのアップグレードに依り RAS サーバー経由でレポートにアクセスする BusinessObjects Enterprise へのアップグレードに依り BusinessObjects Enterprise のフレームワークに含まれる Page Server や RAS サーバー経由でレポートにアクセスする Crystal Enterprise やアンマネージド RAS 等のレガシーエンタープライズソリューション経由でレポートにアクセスする Crystal Reports for Visual Studio に付いて Crystal Reports for Visual Studio は 殆どのバージョンの Microsoft Visual Studio をデフォルトの状態でインストールした場合に含まれる Crystal Reports のカスタムバージョンで有る Crystal Reports Developer エディションにアップグレードすると Visual Studio 内の追加の機能や更新されたレポートコンポーネントを利用出来る様に成る Crystal Reports for Visual Studio.NET 2002 や 2003 及び Crystal Reports for Visual Studio 2005 には Crystal Reports Developer の多くの機能が含まれて居る 其れには Crystal Reports SDK を使用したレポートの作成 作成したレポートの CrystalReportViewer コントロールへの接続 プログラムに依る此等のレポートとの対話等の機能が含まれる Crystal Reports for Visual Studio の機能 Crystal Reports for Visual Studio 2005 は 次の様な強力な機能を備えて居る Crystal Reports for Visual Studio 2005 の新しい機能の一覧に付いては Crystal Reports for Visual Studio 2005 の新機能 を参照され度い 一般的な標準ファイル形式に依り データの取得条件 グループ化 集計 パラメータ ドリルダウン 及び サブレポートのリンク情報を含む 高性能のレポートを作成出来る ウィザードとエキスパートが利用可能な埋め込み Crystal Reports Designer に依り 複雑なレポートファイルを簡単に作成出来る データや.NET データセットとの接続では データベースエキスパートを使用して 各種のデータベースプロトコルや ADO.NET データセット形式のプロキシデータと簡単に対話出来る Crystal Reports 10 や Crystal Reports for Visual Studio 2005 では DataSet の処理速度が大幅に向上した レポートビューアに依り Web と Windows アプリケーションの孰れの形式でも Crystal レポートを表示出来る Crystal Reports SDK は プログラムに依ってレポートとの対話や其の変更を行う事が出来る 複雑さや機能のレベルに応じて 性能の異なる 4 つのオブジェクトモデルの 1 つを使用する エクスポート機能に依り CrystalReportViewer コントロールから Word Excel PDF HTML 及び Crystal Reports の形式でデータをエクスポートする CrystalReportViewer コントロールの出力機能に依り Web や Windows アプリケーションからページベースでレポートを出力出来る CrystalReportViewer コントロールからパラメータやデータベースログオンの入力を要求する事に依り パラメータやデータベース情報が不足して居るレポートを簡単に修正 及び 表示出来る -2-
マルチリンガルクライアントサポートに依り 他の言語がツールヒントに表示される様に CrystalReportViewer コントロールを設定出来る 此れは クライアントブラウザ ASPX ページ 又は マシンの環境設定で決定する ASP.NET Web サービスプロジェクトのレポート Web サービスに依りプロジェクトの作成や Crystal Report の追加 及び Web サービスと仕てのレポートの公開を行う事が出来る Crystal サービスを使用すると Web サービス経由でプログラムに依るレポートへのアクセスが可能に成る マージモジュールのデプロイメントに依り 正しい Crystal Reports のコンポーネントとアセンブリが Crystal Reports for Visual Studio 2005 で作成された Web アプリケーションや Windows アプリケーションに確実に追加される Crystal Reports for Visual Studio 2005 で利用出来る最適化機能や Crystal 製品群に含まれる他のソリューションへのアップグレードに依り スケーラビリティが提供される 以前のバージョンの Crystal Reports for Visual Studio 2005 からスムーズに移行出来る Crystal Reports for Visual Studio.NET の以前のバージョンで作成されたプロジェクトは 実行時にサポートされ デザイン時の修正は不要で有る Crystal Reports for Visual Studio 2005 の新機能 Crystal Reports for Visual Studio 2005 には多くの新機能が有る Crystal Reports for Visual Studio 2005 プロジェクトは 64 ビットマシン上でサポートされる Crystal Reports は Visual Studio 2005 で新しく導入された Windows アプリケーションの機能の ClickOnce デプロイメントを完全にサポートして居る Crystal Reports のコードスニペットは Visual Basic を使用して Web サイトや Windows プロジェクトを作成する場合に使用出来る CrystalReportViewer コントロールでは 幾つかの機能が改良されて居る Crystal Reports for Visual Studio 2005 ではアクセシビリティが向上した Crystal Reports for Visual Studio 2005 では Unicode や中国語エンコード規格 GB18030-2000 を使用した各国文字をサポートして居る Crystal Reports for Visual Studio 2005 では 埋め込み Crystal Reports Designer に [ プレビュー ] タブが追加され レポートをデザイン時にプレビューする事が出来る プロジェクトテンプレートは CrystalReportViewer コントロール内に表示される Crystal レポートの例を表示する為に 新しい Web サイトや Windows プロジェクトを作成する時に選択出来る -3-
Visual Studio 2005 での Windows プロジェクトの設定 此のセクションは 上級と中級の開発者の孰れにも重要な学習ポイントで有る 新しい Windows プロジェクトを Crystal Reports for Visual Studio 2005 で作成 及び 設定する際の 推奨されるベストプラクティスを示す 此のセクションでは コーディングモデルを使用した Windows プロジェクトの設定を示す 此の設定の一部と仕て Form1 クラスと入力コードに付いて説明する 此処で作成する此のコードベースの Windows プロジェクトは オンラインヘルプで提供されるコーディングチュートリアルに取っての必要条件と成る チュートリアルとサンプルコード を参照され度い Visual Studio 2005 での新しい Windows プロジェクトの作成 Windows プロジェクトを作成する前に Crystal Reports for Visual Studio 2005 がシステムにインストールされて居る事を確認する 必須インストール を参照され度い Crystal Reports for Visual Studio 2005 を使用して Windows プロジェクトを設定する 1.Visual Studio 2005 を起動する 2.[ ファイル ] メニューの [ 新規作成 ] を選択し 次に [ プロジェクト ] をクリックする 3.[ 新しいプロジェクト ] ダイアログボックスで [ プロジェクトの種類 ] リストから Visual Basic 又は C# の言語フォルダを選択する 4. テンプレートのリストから [Windows アプリケーション ] をクリックする 5.[ 名前 ] フィールドで 既定のプロジェクト名をユーザー指定のプロジェクト名に書き換える 此処では Pascal の命名規則を適用し プロジェクト名の最初の文字を大文字にする ( プロジェクトから生成されるアセンブリの名前空間名と仕てプロジェクト名が使われる為で有る ) 6.[OK] をクリックする 標準 Visual Basic プロジェクト設定の適用 此のドキュメントのチュートリアルで動作する様にプロジェクトを設定するには Visual Basic プロジェクトのプロジェクト設定を少し変更する必要が有る プロジェクトを C# で開発して居る場合は Windows フォームの準備 に移行して良い Crystal Reports for Visual Studio 2005 で Visual Basic プロジェクトのプロジェクト設定を修正する 1 ソリューションエクスプローラで ソリューション名の下に太字で表示されて居るプロジェクト名を右クリックし [ プロパティ ] を選択する 2.[ プロパティ ] ビューの [ コンパイル ] タブをクリックする 3.[OptionStrict] リストで [ オン ] をクリックする 4.[ プロパティ ] ビューを閉じる 5.[ ファイル ] メニューの [ 総て保存 ] をクリックする ベストプラクティスと仕て 総ての Visual Basic プロジェクトの最初で OptionStrict を有効にする事を推奨する 此れに依り コードを記述する時に 厳密に型指定された変数宣言と有効なキャストを行うベストプラクティスが強制的に使用される 此等は孰れも コンパイル時にチェックされる コンパイル時のチェックを必ず実行する事で 実行時の例外が減少する -4-
VS 2005 資料 Visual Studio 2005 での Windows フォームの準備 従来の Visual Basic 6 で作成される Windows アプリケーションは 通常 Form1 と謂う名前でデフォルトのフォームを定義して居た Windows プロジェクトでも此のパターンに従い 同じデフォルトのフォーム名 Form1 を使用する 拡張子は 使用する開発言語に応じて.cs 又は.vb に成る Crystal Reports for Visual Studio 2005 で Windows フォームを準備する 1. メインウィンドウに Form1 が表示されて居ない場合は ソリューションエクスプローラで [Form1] をダブルクリックする Designer に [Form1] が表示される 2.[ 表示 ] メニューの [ コード ] をクリックする Form1 クラスのコードビューが表示される 此のクラスの表示は Windows アプリケーションが Visual Basic 又は C# の孰れでプログラムされたかに依存する C# では Form1 クラスは次の様に表示される クラス署名コンストラクタ (Form1) Visual Basic では Form1 クラスは次の様に表示される クラス署名 (Form1 クラス ) Form1 クラスに追加されたメソッドや変数は 別のパーシャルクラスに格納される 此れは C# でも Visual Basic でも同様で有る 次に private helper メソッドを追加し 此のクラスに Crystal Reports を設定する総てのコードの指定場所と仕て使用する Crystal Reports 設定コードのプライベートヘルパーメソッドを追加する 1. 此の Form1 クラスに 戻り値の無い新しいプライベートスコープのヘルパーメソッド ConfigureCrystalReports を追加する Visual Basic Private Sub ConfigureCrystalReports( ) End Sub private void ConfigureCrystalReports( ) { C# } 次に Form_Load イベントハンドラを追加し Form_Load イベントハンドラに有る ConfigureCrystalReports を呼び出す 此れに依り フォームのロード時に自動的に ConfigureCrystalReports メソッドが実行される 2.[ ファイル ] メニューの [ デザイナ ] をクリックする -5-
3.[Form1] をダブルクリックする コードビューに戻る Form1 をダブルクリックした為 Form1_Load イベントハンドラが Form1 クラスに自動的に作成される 4.Form1_Load イベントハンドラで ConfigureCrystalReports メソッドの呼び出しを入力する ConfigureCrystalReports( ) ConfigureCrystalReports( ); Visual Basic C# 5.[ ファイル ] メニューの [ 総て保存 ] をクリックする Visual Studio 2005 での CrystalReportViewer コントロールの追加 Windows フォームにレポートを表示するには CrystalReportViewer コントロールを追加する Crystal Reports for Visual Studio 2005 で CrystalReportViewer コントロールを追加する 1. デザインビューで Form1 を開く 2. ツールボックスから Crystal Reports ノードを開き CrystalReportViewer コントロールを探す 3.CrystalReportViewer コントロールをフォーム上にドラッグアンドドロップする CrystalReportViewer コントロールでは スマートタスクパネル と呼ばれる新しい GUI 機能がコントロールの右上隅に表示される 此れは.NET バージョン 2.0 で提供される減少したコードに依る開発モデルの一部で有る CrystalReportViewer コントロールのスマートタスクパネルは GUI 設定を使用してレポートのバインドやコントロールのレイアウト等の機能設定を単純化する 此処では コードベースの開発モデルを使用して居る為 設定にはスマートタスクパネルを使用しない 4. スマートタスクパネルが開いて居る場合は CrystalReportViewer コントロールの右上隅に有る矢印トグルをクリックして スマートタスクパネルを閉じる 5.CrystalReportViewer コントロールをクリックして選択する 6.[ プロパティ ] ウィンドウから Name プロパティを以下の様に設定する Visual Basic Windows プロジェクトの場合は Name プロパティに mycrystalreportviewer を設定する C# Windows プロジェクトの場合は Name プロパティに crystalreportviewer を設定する 7.[ ファイル ] メニューの [ 総て保存 ] をクリックする 8.[ ビルド ] メニューの [ ソリューションのビルド ] をクリックする ConfigureCrystalReports が正常に追加されて居る事を確認する 1.[ 表示 ] メニューで [ 其の他のウィンドウ ] [Object Browser] の順にクリックする 2.Object Browser でプロジェクト名のノードを展開し 次にプロジェクト名の名前空間ノードを展開して [Form1] クラスをクリックする Form1 クラスのメンバが表示される 此れには CrystalReportViewer 変数 (Form1.Designer.cs パーシャルクラスから ) 及び ConfigureCrystalReports メソッド (Form1.cs パーシャルクラスから ) の両方が含まれて居る Visual Studio 2005 では Form1.cs( 又は.vb) と此れに対応するファイルの Form1.designer.cs( 又は.vb) は 夫々れのメンバを共有する単一の Form1 クラスに両方ともコンパイルされる -6-
此れは.NET フレームワークバージョン 2.0 の新機能で有るパーシャルクラスに依り可能と成る partial と謂う名前のクラス修飾子をクラス署名に追加出来る 此の修飾子は 此のクラスファイルが同名の既存のクラスに追加されて居る事を示す 此れは Windows フォームに次の様な影響を及ぼす Visual Studio.NET 2002 又は 2003 の場合 Form1.cs( 又は.vb) ファイルには Windows フォームに追加されたコントロールのクラスレベル宣言等の多数の自動生成コードや 其のフォームやコントロールに関するイベント等の設定コードが含まれて居た Visual Studio 2005 では 此の自動生成コードは より目立た無い Form1.designer.cs( 又は.vb) ファイルに移動されて居る 此のファイルは Form1 パーシャルクラスで有る 此れに依り 元の Form1 クラスは Form1 パーシャルクラスから総ての自動生成コードにアクセス出来る様に成ると同時に 開発者が記述する追加コードを制限し無い様に成る 名前空間を参照する Imports/Using 文を追加する 1. ソリューションエクスプローラに [ 参照 ] フォルダが表示され無い場合は ソリューションエクスプローラのツールバーで [ 総てのファイルを表示 ] をクリックして 総てのプロジェクトファイルを表示する 2. ソリューションエクスプローラで [ 参照 ] フォルダを展開する 3. 次の Crystal Reports アセンブリが追加されて居る事を確認する CrystalDecisions.CrystalReports.Engine CrystalDecisions.Shared 4.Form1 を選択し [ 表示 ] メニューの [ コード ] をクリックする Form1 クラスのコードビューが表示される 5. クラス署名の上で Imports(Visual Basic) 又は using(c#) 宣言を 次の Crystal Reports 名前空間を含むクラスの先頭に追加する Visual Basic Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared C# using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; -7-
追加設定要件 Crystal Reports for Visual Studio 2005 プロジェクトが設定され コード化の準備が出来た 但し 選択するチュートリアルやレポートをバインドするシナリオに依っては 追加の設定作業が必要に成る場合も有る 次の表は 各チュートリアルとレポートをバインドするシナリオで完了する必要が有る追加のオプションを示して居る http://msdn2.microsoft.com/ja-jp/library/ms227530(vs.80).aspx サンプルレポートディレクトリへの既存のレポートの追加 既存のレポートをサンプルレポートディレクトリから Windows プロジェクト 又は Web プロジェクトに追加する 此の手順は プロジェクトの設定 で作成されたプロジェクトに而巳有効で有る プロジェクトの設定には 此のプロジェクトに必要な特定の名前空間参照とコード設定が含まれる為 此の設定なしに手順を完了する事は出来ない 従って 此の手順を始める前に先ず プロジェクトの設定 の手順を実行して置く必要が有る 1.[ プロジェクト ] メニューから [ 既存項目の追加 ] をクリックする 2.[ 既存項目の追加 ] ダイアログボックスで [ ファイルの種類 ] に総てのファイル (*.*) を指定する 3.Crystal Reports のサンプルレポートディレクトリの Feature Examples フォルダに有る Hierarchical Grouping.rpt ファイルに移動する ( サンプルレポートの場所に付いては サンプルレポートのディレクトリ を参照され度い ) Hierarchical Grouping レポートは Access データベースの xtreme.mdb からデータを取得する為 此のデータベースの場所と其の ODBC DSN 設定を確認して置く 4.Hierarchical Grouping.rpt ファイルをクリックして選択し 次に [ 開く ] をクリックする Hierarchical Grouping.rpt ファイルがプロジェクトに追加される プロジェクトに追加したレポートは 埋め込みレポートと成る 詰まり プロジェクトに追加された総てのレポートは コンパイル時にプロジェクトのアセンブリに埋め込まれる為 レポートを手動でプロジェクトにリンクさせる必要は無い コード化する場合は 其のレポートファイルをラップ ( 表示 ) するレポートクラスが自動的に生成される 次に 此のレポートクラスをインスタンス化し CrystalReportViewer コントロールにバインドする 埋め込みレポートの詳細に付いては 埋め込みレポートと埋め込みで無いレポートの選択 を参照され度い Crystal Reports for Visual Studio 2005 のサンプルレポートのディレクトリ C: Program Files Microsoft Visual Studio 8 Crystal Reports Samples Jp Reports Feature Examples 及び C: Program Files Microsoft Visual Studio 8 Crystal Reports Samples Jp Reports General Business -8-
埋め込みレポートの CrystalReportViewer コントロールへのバインド 此のセクションでは プロジェクトが埋め込みレポートを検索 及び 表示する為の 埋め込みレポートの最も単純なバインド方法に付いて説明する 埋め込みレポートを CrystalReportViewer コントロールにバインドする 1.Web フォーム 又は Windows フォームをデザインビューで開く 2.[ 表示 ] メニューから [ コード ] をクリックし 此の Web フォーム 又は Windows フォームの分離コードクラスを表示する 3. 変数 hierarchicalgroupingreport を使用して Hierarchical_Grouping レポートラッパークラスの新しいクラスレベル宣言をクラスの先頭に追加する アクセス修飾子を private に設定する Visual Basic Private hierarchicalgroupingreport As Hierarchical_Grouping C# private Hierarchical_Grouping hierarchicalgroupingreport; 4. プロジェクトの設定 の手順で追加した ConfigureCrystalReports メソッドで レポートラッパークラスをインスタンス化する Visual Basic hierarchicalgroupingreport = New Hierarchical_Grouping( ) C# hierarchicalgroupingreport = new Hierarchical_Grouping( ); 5. レポートのインスタンス化の下に有る行で CrystalReportViewer の ReportSource プロパティをインスタンス化したレポートクラス ( 変数名は hierarchicalgroupingreport) にバインドする Visual Basic mycrystalreportviewer.reportsource = hierarchicalgroupingreport C# crystalreportviewer.reportsource = hierarchicalgroupingreport; 此れでプロジェクトをビルドして実行する事が出来る プロジェクトをビルド 及び 実行する 1.[ ビルド ] メニューの [ ソリューションのビルド ] をクリックする 2. ビルドエラーが有る場合は 此処で修正する 3.[ デバッグ ] メニューの [ 開始 ] をクリックする ビルドエラーが表示され無い場合は プロジェクトは Web ブラウザ (Web) 又は Windows アプリケーション (Windows) にロードされ Web フォーム 又は Windows のフォーム上で生成された Hierarchical Grouping レポートを表示する 4.Visual Studio に戻り [ 停止 ] ボタンをクリックして デバッグモードを終了する -9-
埋め込みレポートと埋め込みで無いレポートの選択 Crystal Reports SDK を使用してアプリケーションのビルドを計画するに当り最も重要な検討事項の 1 つに 埋め込みレポートと埋め込みで無いレポートの選択が有る レポートの埋め込みに影響を与える SDK の基本を理解する事に依り 目的の Crystal Reports for Visual Studio 2005 プロジェクトに最も適した構造を選択出来る Visual Studio 2005 では Crystal Reports レポートファイルは Web プロジェクトに埋め込まれる事は無い 従って レポートラッパークラスは作成されない レポートはフォルダに格納され 総ての埋め込みで無いレポートと同様に レポートのファイルディレクトリパスに依り参照される必要が有る 此の場合 ディレクトリパスは現在の Web サイトフォルダへのパスで有る 但し Visual Studio 2005 の Windows プロジェクトは 以前の Visual Studio.NET バージョンから変更されて居ない 此のプロジェクトでは引き続き埋め込みレポートを使用する 埋め込みレポートと埋め込みで無いレポートの相違点 埋め込みレポートは Visual Studio.NET プロジェクトにインポートされたレポート 又は Visual Studio 2005 プロジェクトで作成されたレポートで有る レポートがプロジェクトに埋め込まれると 其のレポートのラッパークラスが自動的に生成される 埋め込みで無いレポートは 其の Visual Studio 2005 プロジェクトに属さ無いレポートで有る レポートとのプログラムに依る対話を可能にする目的で 此のレポートにアクセスしてオブジェクトモデルにロードする方法は多数有る 併し レポート自体は常に Visual Studio 2005 プロジェクトの外部に存在する 埋め込みレポートの機能 レポートがプロジェクトにインポートされた場合や プロジェクト内でレポートが作成された場合には レポートと同じ名前のラッパークラスが作成される 此のラッパークラスは プロジェクト内のレポートをラップ ( 表示 ) する ラッパークラスが作成されると プロジェクトの総てのコードは元のレポートファイル其の物ではなく 其のレポートの代わりと成る為に作成された此のレポートクラスと対話する 此のプロジェクトをコンパイルすると 他のプロジェクトリソースの場合と同様に レポートとラッパークラスの両方がアセンブリに埋め込まれる レポートラッパークラスは 共通の基本クラスで有る ReportDocument から継承する 此れは ReportDocument の総てのプロパティとメソッドを継承する 此のマニュアルの以前のバージョンでは 埋め込みレポートは 厳密に型指定されたレポートと呼ばれて居た Visual Studio 2005 プロジェクトに追加 又は インポートされたレポートを意味する用語と仕て 現在は 埋め込み が使用されて居る ReportDocument は ReportDocument オブジェクトモデルのルートクラスで有る -10-
埋め込みで無いレポートの機能 埋め込みで無いレポートは 次の様々な方法で常に外部からアクセスされ SDK にアクセス可能と成る ファイルディレクトリパスが示すハードディスクドライブにレポートが置かれて居る場合 レポート Web サービスと仕てレポートが公開されて居る場合 レポートが Crystal サービスを経由して公開されて居るレポートのグループの内の 1 つで有る場合 埋め込みで無いレポートは プロジェクトにインポートされ無い為 埋め込みレポートとは異なり レポートラッパークラスは作成されない 其の代わり 埋め込みで無いレポートは 次の夫々れの方法で実行時にオブジェクトモデルの 1 つにロードされる ReportDocument オブジェクトモデルは ReportDocument.Load メソッドを使用してレポートを ReportDocument オブジェクトモデルにロードする 此れは ファイルディレクトリパスに置かれて居るレポートの場合に而巳適用される CrystalReportViewer オブジェクトモデルは CrystalReportViewer.ReportSource プロパティを使用して レポートをコントロールに直接バインドする ReportDocument オブジェクトモデルの使用を推奨する 埋め込みレポートを選択する場合と埋め込みで無いレポートを選択する場合 プロジェクトのデプロイメントを単純化し度い場合には 埋め込みレポートを使用する 此れに依って 操作するファイル数が少なく成り レポートを正しく無いファイルディレクトリパスに置き間違える心配が無く成る 亦 此の選択に依り 変更の為にレポートを公開する場合のセキュリティが高まる 更に 初めて Visual Studio 2005 を使用して Crystal Reports の構築とデプロイメントを学習する場合には レポートを埋め込む操作の方がより容易で有る 一旦レポートが埋め込まれると 其のレポートはクラスと仕てプロジェクト内に存在する事に成る為 レポートを IntelliSense 経由で取得し Object Browser で表示出来る レポートがファイルディレクトリ内で移動 又は 削除されたり ファイルのパスを不正確に記述したりする心配が無い 一方 次の様な場合には 埋め込みで無いレポートを使用する 埋め込みレポートは簡単でセキュリティが高いものの 追加の操作が必要に成る 埋め込みレポートを変更する場合には プロジェクト全体を再コンパイルする必要が有る 定期的にレポートを変更する必要が有る場合には レポートを埋め込まずに置く方がレポートへのアクセスや変更が容易に成る 変更の度にアセンブリを再コンパイルする必要が無く成る 亦 埋め込みで無いレポートはスケーラビリティの点で優れて居る レポートのバインドに付いてのシナリオで 埋め込みレポートと埋め込みで無いレポートをバインドする方法が数多く示される ReportDocument を両方のタイプのレポートへの一般的なクラスと仕て使用する方法に付いても学習出来る 此れに依り アプローチの変更が必要に成った場合でも コードの変更を最低限に抑える事が出来る -11-
必須インストール Crystal レポートを使用する Web 又は Windows アプリケーションを作成するには 先ず Crystal Reports for Visual Studio 2005 をインストールする必要が有る Visual Studio バージョン Crystal Reports は 個別のアプリケーションと仕て購入する事も Microsoft Visual Studio の多くのバージョンに付随してインストールされるバージョン (Crystal Reports for Visual Studio) と仕て購入する事も出来る Crystal Reports for Visual Studio を使用する場合は インストール済みの Visual Studio のバージョンに Crystal Reports for Visual Studio がバンドルされて居るか何うか確認する必要が有る Visual Studio は 次のバージョンで使用する事が出来る バージョン 有無 Visual Studio.NET 2002 Standard(C# Visual Basic C++) Visual Studio.NET 2002 Professional 又は 其れ以上のバージョン Visual Studio.NET 2003 Standard(C# Visual Basic C++) Visual Studio.NET 2003 Professional 又は 其れ以上のバージョン Visual Studio 2005 Express Edition(C# Visual Basic C++ SQL J# Web Developer) Visual Studio 2005 Professional 又は 其れ以上のバージョン Crystal Reports コンポーネント デフォルトでは Crystal Reports コンポーネントは Visual Studio インストールの一部と仕てインストールされる Crystal Reports コンポーネントをインストールする必要が有る場合は Visual Studio インストーラを再起動し エンタープライズ開発ツールを追加する指示に従う チュートリアルとサンプルコード 此のセクションでは Crystal Reports for Visual Studio 2005 での作業に役立つ様々なチュートリアルを示す 各チュートリアルでは ステップバイステップ方式のガイドに従って 各種レポーティングシナリオのソリューションと成るプロジェクト作成の総てを行う Crystal Reports for Visual Studio 2005 で作業する場合のベストプラクティスを理解するには 幾つかのチュートリアルを学習する事を推奨する 各チュートリアルには プロジェクトの完全バージョンを示す C# 及び Visual Basic で記述されたサンプルコードプロジェクトが付属して居る 此等のプロジェクトの大半は Web 専用 又は Windows 専用に作成された物を除き Web サイト 及び Windows プロジェクトの両方と仕て提供される http://msdn2.microsoft.com/ja-jp/library/ms227881(vs.80).aspx -12-