グラフでパラメータを使用すると、グラフをレポートに接続できます。レポートをグラフに連結するフィールドのパラメータを設定することにより、レポートはパラメータを介して情報をグラフに渡すことができます。
このチュートリアルは、パラメータを使用して、レポートとグラフをリンクさせる方法について説明します。
このトピックでは、以下のタスクを行います。
- Visual StudioプロジェクトにActiveReportを追加する
- レポートをデータソースに接続する
- データを表示するコントロールを追加する
- パラメータを使用してグラフのデータソースを設定する
- グラフのプロパティを設定する
- レポートを表示する
メモ:このチュートリアルはNWindデータベースを使用しています。NorthWindデータベース(Nwind.mdb)へのアクセス権限が必要です。
チュートリアルを完了すると、次のようなレポートが作成されます。
VisualStudioプロジェクトにActiveReportを追加する
- Visual Studioで新規プロジェクトを開きます。
- [プロジェクト]メニューから [新しい項目の追加]を選択します。
- [新しい項目を追加]ダイアログから[ActiveReports 16.0J セクションレポート(XML)]を選択し、ファイル名を「rptChartParams」に変更します。
- [追加]ボタンをクリックします。
詳細は、「クイックスタート」を参照します。
レポートをデータソースに接続する
- Detailセクションのバンド上にあるデータソースのアイコンをクリックします。
- [レポートデータソース]ダイアログで、[接続文字列]の横にある[OLE DB]タブにある[作成]ボタンをクリックします。
- [データリンクプロパティ]ウィンドウで、[Microsoft Jet 4.0 OLE DB Provider]を選択し、[次へ]ボタンをクリックして、[接続]タブへ移動します。
- (...)をクリックし、Nwind.mdbへのアクセスパスを参照します。アクセスパスの選択が完了したら、[開く]をクリックします。
- [接続のテスト]ボタンをクリックし、データベースへの接続を確認します。
- [OK]をクリックし、[レポートデータソース]ダイアログに戻ります。[接続文字列]フィールドで、テキストが自動的に追加されます。
-
[OLE DB]タブの[クエリ]フィールドに以下のSQLクエリを入力します。
SQLクエリ |
コードのコピー
|
SELECT * FROM Products ORDER BY CategoryID, ProductName
|
- [OK] をクリックし、レポートのデザイナ面に戻ります。
データを表示するコントロールを追加する
- レポートのページヘッダを削除するために、ページヘッダまたはページフッタを選択した後、右クリックして[削除]を選択します。
- レポートのデザイナ面を右クリックし、[挿入]を選択して、[グループヘッダ/フッタ]を選択します。
- グループヘッダのセクションを選択して、[プロパティ]ウィンドウで以下の変更を加えます。
プロパティ名 |
プロパティの値 |
Name |
ghCategoryID |
DataField |
CategoryID |
GroupKeepTogether |
All |
Height |
5.65(インチ) |
- DetailセクションのHeightプロパティを0.23インチに変更します。
- ツールボックスからグループヘッダのセクションに以下のコントロールを追加し、[プロパティ]ウィンドウから以下のプロパティを設定します。
TextBox
プロパティ名 |
プロパティの値 |
DataField |
CategoryID |
Name |
txtCategoryID |
Text |
CategoryID |
Location |
3.72, 0 in |
Chart
プロパティ名 |
プロパティの値 |
Name |
ChartControl |
Location |
0, 0.313 in |
Label1
プロパティ名 |
プロパティの値 |
Name |
lblCategoryID |
Text |
カテゴリーID |
Location |
1.78, 0 in |
Label2
プロパティ名 |
プロパティの値 |
Name |
lblProductName |
Text |
製品名 |
Location |
0.23, 5.43 in |
Label3
プロパティ名 |
プロパティの値 |
Name |
lblUnitsInStock |
Text |
在庫数 |
Location |
5, 5.43 in |
- ツールボックスから、Detailセクションに[Textbox]コントロールを2つ追加し、[プロパティ]ウィンドウから以下のプロパティを設定します。
TextBox1
プロパティ名 |
プロパティの値 |
DataField |
ProductName |
Name |
txtProductName |
Text |
ProductName |
Location |
0.23, 0 in |
TextBox2
プロパティ名 |
プロパティの値 |
DataField |
UnitsInStock |
Name |
txtUnitsInStock |
Text |
UnitsInStock |
Location |
5, 0 in |
パラメータを使用してグラフのデータソースを設定する
-
[Chart]コントロールを選択し、[プロパティ]ウィンドウの下にある[グラフデータ ソース]コマンドを選択します。 詳細は、「[プロパティ]ウィンドウ」を参照してください。
ヒント: [コマンド]セクションにアクセスするには、[プロパティ]ウィンドウを右クリックして[コマンド]を選択します。
- [グラフデータソース]ダイアログで、[作成]ボタンをクリックします。
- [データリンクプロパティ]ウィンドウで、[Microsoft Jet 4.0 OLE DB Provider]を選択し、 [次へ]ボタンをクリックします。
- (...)をクリックし、Northwindデータベースを参照します。ファイルを選択したら、[開く]をクリックします。
- [OK] ボタンをクリックし、接続文字列を読み込みます。
-
[クエリ] フィールドに、以下のSQLクエリを入力します。
SQLクエリ |
コードのコピー
|
SELECT * FROM Products WHERE CategoryID = <%CategoryID||1%> ORDER BY ProductName |
注意:
- パラメータを使用する場合、グラフはデザイン時に描画されませんが、実行時には描画されます。
- 両方のSQLステートメント(レポートとグラフのステートメント)でORDERを設定しないと、グラフデータは並び替えられません。
- [OK]をクリックします。
グラフのプロパティを設定する
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウに、ChartAreas(Collection)をクリックし、表示される(...)をクリックします。
- [ChartArea コレクションエディター]で、defaultAreaプロパティの下のAxes(Collection)プロパティをクリックし、表示される(...)をクリックします。
-
[AxisBase コレクションエディター]で、以下のプロパティを設定します。
AxisBase
- AxisXメンバをクリックし、そのLabelFontのAngleプロパティを「-90」に設定して、製品名のラベル(lblProductName)が重ならないようにします。
- Titleプロパティからテキストを削除します。
- AxisYメンバをクリックし、そのTitleプロパティを「在庫数」に設定します。
- AxisYメンバで、MajorTickプロパティツリービューのGridLineを展開し、以下のプロパティを設定します。
プロパティ |
プロパティの値 |
Style |
Dot |
Color |
Silver |
Weight |
1 |
- [OK]をクリックし、[ChartArea コレクションエディター]に戻ります。
- [OK]をクリックして、デザイナ面に戻ります。
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウに、Series (Collection)をクリックし、表示される(...)をクリックします。
-
[Series コレクションエディター]で、以下のプロパティを設定します。
Series
- Series1をクリックして選択します。
- ValueMembersYプロパティをUnitsInStockに変更します。
- ValueMemberXプロパティをProductNameに変更します。
- Series2とSeries3を削除します。
- [OK]をクリックして、デザイナ面に戻ります。
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウに、Titles (Collection)をクリックし、表示される(...)をクリックします。
-
[Titles コレクションエディター]で、以下のプロパティを設定します。
Titles
- headerプロパティで、Textプロパティを 「製品の在庫」に変更します。
- footerを削除し、[OK]をクリックしてデザイナ面に戻ります。
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウでは Legends(Collection)プロパティをクリックし、表示される(...)をクリックします。
-
[Legend コレクションエディター]で、以下のプロパティを設定します。
Legends
- defaultLegendのVisibleプロパティをFalseに変更します。
- [OK]をクリックして、デザイナ面に戻ります。
レポートを表示する
- デザイン時にレポートを表示するには、プレビュータブをクリックします。
または