[]
        
(Showing Draft Content)

ActiveReportsでは、式を使用することで、レポート内のコントロールに値を設定したり、特定の条件に応じてプロパティの値を変更することができます。式は、以下の場所で設定することができます。

  • [プロパティ]ウィンドウ
  • [式エディタ]ダイアログ

式はすべて等号**(=)**で始まります。たとえば、TextBoxにフィールドの値を設定する式は以下のようになります。
=Fields!LastName.Value

[式エディタ]ダイアログ

式エディタを用いて式を素早く作成することができます。このダイアログでは、レポートやプロパティに設定したい式を一覧の中から選択することができます。コントロールのほぼすべてのプロパティについて、プロパティウィンドウのドロップダウンリストから**<式...>**を選択することで[式エディタ]を開くことができます。

式エディタ]では以下の8種類のフィールドを設定することができます。

  • 定数
    TextDecorationプロパティやBorderStyleプロパティのように、列挙値を持つプロパティにおいて設定可能な定数です。
  • 共通フィールド
    各レポートの各プロパティに提供される実行時の値です。このリストの内、「ユーザーID」と「ユーザー言語」はユーザーコレクションから取得されます。詳細については、「共通フィールド」を参照してください。
  • パラメータ
    レポートに設定されているパラメータの一覧です。レポートにパラメータが追加されている場合、リストからパラメータを選択することで、そのパラメータの現在の値を取得することができます。
  • フィールド
    レポートコントロールに関連しているデータセットの全てのフィールドです。
  • データセット
    レポートに関連付ける各データセットの全フィールドです。しかし、現在のデータセットスコープに入らないフィールドの場合は、その合計や最初の値のみを取得します。
  • 演算子
    算術、比較、連結、論理/ビット、ビットシフトなどの式を作成するための演算子です。
  • 共通の関数
    ActiveReportsでサポートしているVisual Basic .NET標準の関数です。詳細については、「共通の関数」を参照してください。
  • 見出しマップ
    「DocumentMap.Path」の式は、レポートのTableOfContentsのメンバのラベルを定義します。「=DocumentMap.Path & " General Information"」という式をレポートのTableOfContentsと関連するコントロールのLabelプロパティに定義した場合、[全般]ページに設定した情報が、対応するTableOfContentsのメンバのラベルとして表示されます。

式エディタで式を作成する

式エディタ]ダイアログには、[フィールド]と[]の2つのパネルがあります。

  • フィールド]パネルで、式に使用するフィールドを選択します。
  • 置換]、[挿入]、[追加]ボタンをクリックして[式]パネルにフィールドを追加します。[]パネルは有効な式の形式のフィールドを表示します。
  • OK]をクリックしてダイアログを閉じます。

上記の手順で設定した式は、[プロパティ]ウィンドウにも表示されます。

type=info

ヒント: []パネルには完成された状態の式だけではなく、未完成状態の式でも追加することができます。[挿入]や[追加]ボタンを使用することで、[]パネルに表示されている式を編集し、式を完成させることができます。

レポート内に式を使用する

そのままの状態ではレポートに表示できないデータの場合、式を使用することで意図する内容にデータをカスタマイズして表示させることができます。式の設定方法の例をいくつか説明します。

フィールドと文字列を連結する

フィールドを文字列と連結し、他のフィールドとも連結することができます。たとえば、次のような式を設定した場合、結果は「Customer Name: Bossert, Lewis」となります。

="Customer Name: " & Fields!LastName.Value & "," & Fields!FirstName.Value

条件付き書式

ColorFontBorderなどのプロパティの場合、式を使用することで、特定のフィールドが条件を満たす時のみデータを強調表示することができます。条件付き書式を定義するには、以下のような式を設定します。
=iif( Fields!YourFieldName.Value operator "比較する値", "条件を満たした場合、この値を使用する。", "それ以外の場合は、この値を使用します。"

たとえば、テキストボックスの[Font > FontWeight]プロパティに次の式を入力すると、「Denise」という名前の時のみ太字で表示されます。

=iif(Fields!FirstName.Value = "Denise", "Bold", "Normal")

関数

式の中には、いくつかの集計、および関数を使用することができます。ActiveReportsでは、累計、母集団分散、標準偏差、総数、最小値、最大値のような関数が提供されています。たとえば、下記の式を使用して社員の数を計算することができます。

=Count(Fields!EmployeeID.Value, Nothing)

デザイン時に式を表示する

レポートをデザインするとき、式のテキスト全体が長くなる場合があります。ActiveReportsでは、式を縮小して読みやすくすることができます。

式が次のような形の場合、
=Fields!<FieldName>.Value

デザイン表面上のテキストボックスには次のように表示されます。
=[<FieldName>]

テキストボックスをダブルクリックすると式は全て編集モードになります。

次のような集計式の場合、
=<Aggregate>(Fields!<FieldName>.Value)

デザイン表面上のテキストボックスには次のように表示されます。
=<Aggregate>([<FieldName>])

この短縮式は、表示の場合だけ使用され、フィールド名を読みやすくします。テキストボックスのデザイン面やプロパティ設定ダイアログ内のドロップダウンには、この短縮式が表示されます。

type=note

メモ: フィールド名は上記のような短縮形式で入力することができますが、レポートを実行する時は、式は完全な形式で評価されます。

フィールド名以外にも、パラメータの場合は[@Param]、[&PageNumber](ページ番号)のように短縮され、共通フィールドの場合は[&Value]のように短縮されてデザイン面上に表示されます。ただし、[式エディタ]に短縮した式を使用することはできませんので、ご注意ください。

関連トピック

共通フィールド

共通の関数

LookupSet関数の使用