PowerTools ActiveReports for .NET 11.0J
複数値を取るパラメータの追加

ページレポート/RDLレポートでは、「複数の値を許可する」というオプションを選択することで、複数値を取るパラメータを追加することができます。複数値を取るパラメータでは、リストから複数のオプションを任意で選ぶか、「すべて選択」を選んですべてのオプションを選択することができます。
選択するオプションが多数にのぼる場合に「すべて選択」を選択すると、長大なSQLクエリが作成され、SQLコマンドを実行できないことがあります。そのような場合、["すべて選択"を選択したときの値]オプションで、複数値を取るように値を指定することができます。

以下の手順では、複数値を値に取るパラメータを作成し、リストにあるすべてのオプションを選択するために値を指定する方法について、順を追って説明します。ここでは、Visual Studioのプロジェクトにページレポート、またはRDLレポートのテンプレートを追加し、レポートがデータソースに接続されていることを前提としています。それぞれの詳細については「プロジェクトにレポートを追加する」、「データソースとの接続」を参照してください。

メモ: 以下の手順は、NorthWindデータベース(NWind.mdb)のProductsテーブルを使用しています。データの使用にはNorthWindデータベース(..\ActiveReportsNET11\Data\NWind.mdb)へのアクセス権限が必要です。

パラメータ値を設定するためにデータセットを作成するには

  1. レポートエクスプローラで、[パラメータ]ノードを右クリックし、[パラメータの追加]を選択します。

     
  2. [レポート - パラメータ]ダイアログが表示されます。[クエリ]ページを選択します。
  3. [クエリ]テキストボックスに、次のようにSQLクエリを入力します。

    select distinct productName from Products 

  4. [クエリ]テキストボックスの上部にある[クエリの検証]アイコンをクリックして、クエリを検証します。
  5. [OK]をクリックしてダイアログを閉じます。[レポートエクスプローラ]の[データセット]ノードの下に、「DataSet1」が新たなノードとして表示されています。これを開くとproductNameフィールドが追加されています。

レポートパラメータを追加するには

  1. レポートエクスプローラで、[パラメータ]ノードを右クリックし、[パラメータの追加]を選択します。
  2. [レポート - パラメータ]ダイアログが表示されます。パラメータの名前はデフォルトの「ReportParameter1」のままにします。
  3. フィールドのものと同じデータタイプを[データタイプ]に選択します(ここでは、ProductNameのデータタイプの「String」を選択)。
  4. [パラメータ入力ダイアログに表示する文字列]フィールドに適切な文字列を入力します(ここでは、「製品名を選択します」と入力)。
  5. [複数の値を許可する]のチェックボックスをオンにして、ユーザーがリストから複数のアイテムを選択できるようにします。
  6. ["すべて選択"を選択したときの値]「1」と入力します。
    メモ: 複数値を取るパラメータについて、選択できる値が多くなればなるほど、それらをすべて選択した時のSQLクエリが長くなります。すべての値を選択した場合でも短いSQLクエリを作成し、パフォーマンスを向上させるために、["すべてを選択"を選択した時の値(未指定の場合、すべての値が設定されます)]を設定します。

[レポートパラメータ]の値のリストを作成するには

  1. [レポート - パラメータ]ダイアログで、[使用できる値]タブへと移動し、ラジオボタンで[クエリから値を取得]を選択します。
  2. [データセット]フィールドで、前述の手順で追加したデータセット(ここでは「DataSet1」)を選択します。
  3. [値]フィールド、[ラベル]フィールドで、productNameフィールドを選択します。
  4. [OK]をクリックしてダイアログを閉じ、コレクションにパラメータを追加します。

パラメータを使ってデータセットを追加するには

  1. レポートエクスプローラで、[データソース]ノードの下にある[DataSource1]を右クリックし、[データセットの追加]を選択します。
  2. 表示される[データセット]ダイアログで、[パラメータ]ページを開き、パラメータリストの上部にある[追加](+)アイコンをクリックして、次の2つをデータセットに追加します。これにより、次の手順3のクエリに追加するパラメータに値が提供されます。
    名前: ReportParameter1; : =Parameters!ReportParameter1.Value
    名前: Parameter1; : =Parameters!ReportParameter1.Value
  3. [クエリ]ページで、[クエリ]テキストボックスに、次のようにSQLクエリを入力します。

    SELECT * FROM products where ProductName in (?) OR '1' in (?)

    このクエリは実行時に選択された製品名に対応するデータを取得します。(この手順では「1」を指定しましたが、)ユーザーが「すべて選択」を選んだ場合は、「OR」に続くクエリが計算されて、全製品のデータが取得されます。
  4. [データセットの検証]アイコンをクリックしてクエリを検証し、「フィールド」リストに追加します。
  5. [OK]ボタンをクリックしてダイアログを閉じます。DataSet2と各フィールドが[レポートエクスプローラ]に追加されます。

レポートを表示するには

  1. デザイナ面にコントロール(例 Table)を配置して、このコントロールにフィールドを追加します。
  2. [プレビュー]タブをクリックします。各パラメータがサイドバーにリスト表示され、いちばん上に「すべて選択」が表示されています。
  3. レポートに表示する製品名をチェックボックスで選択し、[レポートの表示]をクリックします。

 

 


©2003-2017 GrapeCity inc. All rights reserved.