ActiveRepots 11.0J Server デザイナガイド
パラメータ
すべて展開すべて展開
すべて折りたたむすべて折りたたむ

パラメータを使用することで、レポートの実行時に表示するデータをフィルタリングすることができます。ユーザーにパラメータの入力を要求してユーザーが出力をコントロールできるようにするか、パラメータを事前に設定することができます。

データソース別パラメータ構文の指定

クエリパラメータの値は、レポートパラメータのコレクション(事前に提供するか、ユーザーに入力させる値)、別のデータセットのフィールド、または式から取得することができます。パラメータを作成するには、データソース別に固有の構文を指定する必要があります。

データソースの種類 パラメータの構文
OleDB ? SELECT * FROM Customer
WHERE (CustomerID = ? AND AccountNumber = ?)
ODBC @ParameterName SELECT * FROM Customer
WHERE (CustomerID = @CustomerID AND AccountNumber = @AccountNumber)
SQL Client @ParameterName SELECT * FROM Customer
WHERE (CustomerID = @CustomerID AND AccountNumber = @AccountNumber)
OracleDB :ParameterName SELECT * FROM Customer
WHERE CustomerID = :CustomerID AND AccountNumber = :AccountNumber

ページレポート/RDLレポート

ページレポート/RDLレポートでは、クエリデザイナを使用してパラメータ付きクエリを簡単に作成することができます。[データセット]ダイアログの[クエリ]ページでボタンをクリックすることで、[クエリデザイナ]にアクセスすることができます。
なお、手動でパラメータ付きクエリを作成したい場合には、3か所のパラメータをそれぞれ設定する必要があります。設定が必要となるのは、[レポート−パラメータ]ダイアログ、[データセット]ダイアログの[パラメータ]ページ、[データセット]ダイアログの[クエリ]ページの3か所です。

[レポート−パラメータ]ダイアログ

[データセット]ダイアログの[パラメータ]ページ

[データセット]ダイアログの[クエリ]ページ

[レポートエクスプローラ]からパラメータを直接レポートにドラッグすることで、実行時にパラメータの値がTextBoxコントロールに表示されます。

実行時にユーザーより入力を要求せずにレポートを実行する場合、各パラメータの既定値を設定し、[パラメータ]ダイアログの[全般]タブで[非表示]チェックボックスをONに設定する必要があります。

使用できる値と同様に、既定値は[値を直接入力][クエリから値を取得]として使用されます。[値を直接入力]オプションでは、静的な値、または式を使用してラベル、および値が提供されます。[クエリから値を取得]オプションでは、データセットを選択し、そこから値フィールドを取得することができます。クエリを使用するときに最初に返された行の値がパラメーター値として使用されます。

サブレポートのデータは、親レポートと容易に同期させることができるので、パラメータも非表示パラメータと認識されます。親レポートに設定しているパラメータと同様にサブレポートのパラメータのプロパティを設定し、親レポートのフィールドまたは他のオブジェクトをポイントする式に値を設定します。

ドリルスルーリンクもレポートから他のレポートへナビゲートするように使用されるので、パラメータも非表示パラメータになります。[ナビゲーション]タブで[アクション][レポートに移動]を選択することによりに、パラメータ一覧が有効になります。入力したパラメータは大文字と小文字を区別し、リンクされたレポートで使用されるパラメータと同じである必要があります。パラメータの値を現在のレポートから[値]フィールドに渡すことができます。リンクされたレポートでパラメータの値を渡さない、またはパラメータの値が一致しない場合はリンクされたレポートが実行されません。

セクションレポート

セクションレポートでは、パラメータコレクションを使用して実行時にコントロールへ値を直接渡すか、レポートのデータのサブセットを表示することができます。

セクションレポートでパラメータを設定する方法

ユーザーにパラメータ値の入力を求める

SQLクエリの実行時にパラメータを追加する

 

 


©2017 GrapeCity inc. All rights reserved.