次の方法で共有


選択式を含むレポートの作成

このセクションでは、Crystal Reports に同梱されているサンプルの Microsoft Access データベースから情報を読み込むレポートを作成します。

xtreme サンプル データベースの安全なデータを含むレポートを作成する

  1. ソリューション エクスプローラで太字のプロジェクト名を右クリックし、[追加]をポイントして[新しい項目の追加]をクリックします。

  2. [新しい項目の追加]ダイアログ ボックスで、[テンプレート]ビューから[Crystal レポート]テンプレートを選択します。

  3. [名前]フィールドに「CustomersByCity.rpt」と入力し、[追加]をクリックします。

    製品の登録がまだの場合は、登録を求めるダイアログ ボックスが表示されます。登録方法については、「Crystal Reports 製品のキーコードと登録番号」を参照してください。

  4. [Crystal reports ギャラリ]ダイアログ ボックスの[Crystal レポート ドキュメントの新規作成]パネルで、[レポート ウィザードを使用]を選択します。

  5. [エキスパートの選択]パネルで[標準]を選択し、[OK]をクリックします。

  6. 標準レポート作成ウィザード ウィンドウの[利用可能なデータ ソース]パネルで、[接続の新規作成]フォルダを展開します。

  7. 開いたサブフォルダから、[ODBC(RDO)]フォルダを展開します。

  8. ODBC(RDO)ウィンドウで「Xtreme サンプル データベース用の ODBC DSN エントリ」の説明に従って使用している Crystal Reports のバージョンに合った ODBC DSN エントリを選択し、[完了]をクリックします。

    [ODBC(RDO)]フォルダが展開され、Xreme サンプル データベースが表示されます。

  9. [テーブル]ノードを展開し、Customer テーブルをダブルクリックしてテーブルを[選択したテーブル]パネルに移動し、[次へ]をクリックします。

  10. Customer テーブルを展開し、Ctrl キーを押しながら“顧客名”、および“前年度取引高”をクリックします。

  11. [>]ボタンをクリックしてこれらのフィールドを[表示するフィールド]パネルに移動し、[次へ]をクリックします。

  12. [利用可能なフィールド]パネルの[レポート フィールド]で、{Customer.顧客名}をダブルクリックして[グループ化]パネルに移動し、[完了]をクリックします。

    CustomersBySalesName レポートが作成され、Visual Studio のメイン ウィンドウにロードされます。

“前年度取引高”に基づいて選択式を作成する

次に、“前年度取引高”フィールドに基づいてデータをフィルタする選択式を作成します。

  1. Web フォームまたは Windows フォームを開きます。

  2. [表示]メニューから[コード]をクリックし、この Web フォームまたは Windows フォームの分離コード クラスを表示します。

  3. Web サイトの場合は、ConfigureCrystalReports() メソッド(「プロジェクトの設定」で作成したもの)内で Not IsPostBack 条件ブロックを作成します。

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/w5dk7atd.alert_note(ja-jp,VS.90).gif" title="Note" alt="Note" class="note" />注</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Not IsPostBack 条件ブロックは、ページが初めてロードされるときにのみ実行するコードのカプセル化を行います。</p></td>
</tr>
</tbody>
</table>

``` vb
If Not IsPostBack Then

End If
```

``` csharp
if(!IsPostBack)
{
}
```
  1. Web サイトの場合は、Not IsPostBack 条件ブロック内に次のコード行を追加します。Windows プロジェクトの場合は、Not IsPostBack 条件ブロックなしで、ConfigureCrystalReports() メソッドにコードを追加します。
1.  “前年度取引高”が $11000.00 より大きく、“顧客名”が A で始まるレコードだけを選択する式を入力します。
    
    ``` vb
    Dim mySelectFormula As String = "{Customer.Last Year's Sales} >
    11000.00 " _
    & "AND Mid({Customer.Customer Name}, 1, 1) = ""A"" "
    ```
    
    ``` csharp
    string selectFormula = "{Customer.Last Year's Sales} > 11000.00
    "
    + "AND Mid({Customer.Customer Name}, 1, 1) = \"A\"";
    ```

2.  選択式の文字列を、CrystalReportViewer コントロールの SelectionFormula プロパティに割り当てます。
    
    ``` vb
    myCrystalReportViewer.SelectionFormula = mySelectFormula
    ```
    
    ``` csharp
    crystalReportViewer.SelectionFormula = selectFormula;
    ```