式を作成する

式を使用すると、データであらゆることを実行できます。たとえば、注文品を出荷した後に何日経過したかを調べたり、[] と [] を [氏名] と結合したりすることができます。次のセクションでは、式を作成する詳しい手順について説明します。

この記事の内容

フォームおよびレポートのコントロールの値を計算する

クエリに集計フィールドを作成する

テーブルのフィールドに既定値を設定する

テーブルのフィールドまたはレコードに入力規則を追加する

レポート内のデータのグループ化および並べ替えを行う

クエリ条件として式を使用する

テーブルに集計フィールドを作成する

コントロールに既定値を設定する

コントロールに入力規則を追加する

実行するマクロ アクションを制御する

フォームおよびレポートのコントロールの値を計算する

式をコントロールのデータ ソースとして使用するときは、演算コントロールを作成します。たとえば、複数の在庫レコードを表示するレポートがあり、レポートのすべての項目を集計した合計をレポート フッターに作成するとします。

レポートの合計

合計を計算するには、レポート フッターにテキスト ボックス コントロールを配置し、次の式にテキスト ボックスの "コントロール ソース" プロパティを設定します。

      =Sum([table_field])

この場合、table_field は小計値を格納するフィールドの名前です。このフィールドは、テーブルまたはクエリから取得できます。Sum 関数は、table_field のすべての値の合計を計算します。

手順

  1. ナビゲーション ウィンドウで、変更するフォームを右クリックし、ショートカット メニューの [レイアウト ビュー] または [デザイン ビュー] をクリックします。

  2. 式を入力するコントロールを選びます。

  3. プロパティ シートが表示されていない場合は、F4 キーを押して表示します。

  4. 式を手動で作成するには、プロパティ シートの [データ] タブで、テキスト ボックスの "コントロール ソース" プロパティをクリックし、= の後に残りの式を入力します。たとえば、上記の小計を計算するには、「=Sum([table_field])」と入力し、table_field を実際のフィールド名に置き換えます。

  5. 式ビルダーを使用して式を作成するには、プロパティ ボックスで [ビルド] ボタン ボタン イメージ をクリックします。

    式の入力が完了すると、プロパティ シートは次のようになります。

    テキスト ボックスのコントロール ソース プロパティの式

ページの先頭へ

クエリ条件として式を使用する

クエリ結果を絞り込むには、クエリで抽出条件を使用します。抽出条件を式として入力すると、その式に一致する行のみが返されます。

たとえば、出荷日が 2017 年の 1 から 3 月に発生したすべての注文を確認したいとします。抽出条件を入力するには、クエリの日付/時刻列の [抽出条件] セルに、次の式を入力します。この例では、[出荷日] という日付/時刻列が使用されます。日付範囲を定義するには、次のように抽出条件を入力します。

Between #1/1/2017# And #3/31/2017#

[出荷日] 列は、次のようになります。

クエリ グリッドの [抽出条件] 行の式

"注文" テーブルの各レコードで、[出荷日] 列の値が指定した日付範囲にある場合、そのレコードはクエリの出力に含まれています。式では、日付をシャープ記号 (#) で囲むことにご注意ください。Access で、シャープ記号 (#) で囲まれた値は日付/時刻のデータ型として処理されます。このような値を日付/時刻データとして処理することで、一方からもう一方への減算などの計算を値に対して実行することができます。

手順

  1. ナビゲーション ウィンドウで、変更するクエリを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。

  2. 入力対象の列の [抽出条件] セルをクリックします。

  3. 手動で式を作成するには、抽出条件式を入力します。抽出条件式の前に = 演算子を入力しないでください。

  4. 式ビルダーを使用して式を作成するには、リボンで [デザイン] をクリックし、[クエリ設定] グループで [ビルダー] ボタン イメージ をクリックします。

    式の編集領域を大きくするには、[抽出条件] セルにカーソルを置いて、Shift キーを押しながら F2 キーを押すと、[ズーム] ボックスが表示されます。

    [ズーム] ダイアログ ボックス内の式

    ヒント:    テキストを読みやすくするには、[フォント] を選択します。

ページの先頭へ

クエリに集計フィールドを作成する

クエリを設計しており、クエリの他のフィールドを使用して、計算の結果を表示したいとします。集計フィールドを作成するには、クエリの [フィールド] 行にある空白セルに式を入力します。たとえば、"数量" フィールドと "単価" フィールドを含むクエリがある場合、クエリの [フィールド] 行に次の式を入力して 2 つを乗算し、[明細金額] の集計フィールドを作成することができます。

Extended Price: [Quantity] * [Unit Price]

"Extended Price:" というテキストが前にある式には、"明細金額" という新しい列名が付けられます。この名前は別名とも呼ばれます。別名を指定しない場合は、Expr1. などの別名が作成されます。

クエリに計算フィールドを作成する式の使用

クエリを実行すると、次の図に示すように、各行で計算が実行されます。

データシート ビューに表示される集計フィールド

手順

  1. ナビゲーション ウィンドウで、変更するクエリを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。

  2. 集計フィールドを作成する列の [フィールド] セルをクリックします。

  3. 手動で式を作成するには、式を入力します。

    抽出条件式の前に = 演算子を使用しないでください。代わりに、説明的なラベルの後に続けてコロンを使用します。たとえば、「Extended Price:」と入力して、"明細金額" という集計フィールドを作成する式のラベルを指定します。次に、コロンの後に式の抽出条件を入力します。

  4. 式ビルダーを使用して式を作成するには、リボンで [デザイン] をクリックし、[クエリ設定] グループで [ビルダー] をクリックします。

ページの先頭へ

テーブルに集計フィールドを作成する

Access では、テーブルの中に集計フィールドを作成することができます。これにより、計算を行うためのクエリは必要なくなります。たとえば、注文の各項目の数量、価格、税率を表示するテーブルがある場合は、次の式で合計金額を表示する集計フィールドも追加することができます。

[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))

計算には他のテーブルやクエリのフィールドを含めることはできません。また、計算結果は読み取り専用です。

手順

  1. ナビゲーション ウィンドウでテーブルをダブルクリックして開きます。

  2. テーブルの右端の列まで横方向にスクロールし、[クリックして追加] 列見出しをクリックします。

  3. 表示される一覧で [集計フィールド] をクリックし、結果に必要なデータ型をクリックします。Access により、式ビルダーが表示されます。

  4. このフィールドに必要な計算を入力します。たとえば、次のように入力します。

    [Quantity] * [Unit Price]

    集計フィールドの式の先頭に等号 (=) を入力しないでください。

  5. [OK] をクリックします。

    集計フィールドが追加され、フィールド名を入力できるようにフィールドの見出しが強調表示されます。

  6. 集計フィールドの名前を入力し、Enter キーを押します。

ページの先頭へ

テーブルのフィールドに既定値を設定する

式を使用して、テーブルのフィールドの既定値を指定することができます。Access では、他の値が指定されていない限り、新規テーブルにはこの値が使用されます。たとえば、新規レコードが追加されるたびに "受注日" というフィールドに自動的に日時が挿入されるようにしたいとします。そのためには、次の式を使用します。

Now()

手順

  1. ナビゲーション ウィンドウで、変更するテーブルをダブルクリックします。

    テーブルがデータシート ビューに表示されます。

  2. 変更するフィールドを選びます。

  3. リボンで [フィールド] をクリックし、[プロパティ] グループで [既定値] をクリックします。Access により、式ビルダーが表示されます。

  4. ボックスに式を入力します。その際、式の先頭に等号 (=) を付けるようにしてください。

メモ:    テーブルのフィールドにコントロールを関連付けたときに、コントロールとテーブルのフィールドの両方に既定値が設定されている場合は、コントロールの既定値がテーブルのフィールドの既定値よりも優先されます。

ページの先頭へ

コントロールに既定値を設定する

式は他に、コントロールの "既定値" プロパティで使用されるのが一般的です。コントロールの "既定値" プロパティは、テーブルのフィールドの "既定値" プロパティと似ています。たとえば、テキスト ボックスの既定値として現在の日付を使用するには、次の式を使用します。

Date()

この式では、Date 関数を使用して現在の日付を返しますが、時刻は返しません。テーブルのフィールドにテキスト ボックスを連結した場合、フィールドに既定値が設定されていると、コントロールの既定値がテーブルのフィールドよりも優先されます。多くの場合、テーブルのフィールドで "既定値" プロパティを設定する方が有効です。こうすることで、さまざまなフォームの複数のコントロールが同じテーブルのフィールドに基づいている場合、同じ既定値が各コントロールに適用され、各フォームに同じデータが入力されるようになります。

手順

  1. ナビゲーション ウィンドウで、変更するフォームまたはレポートを右クリックし、ショートカット メニューの [デザイン ビュー] または [レイアウト ビュー] をクリックします。

  2. 変更するコントロールを選びます。

  3. プロパティ シートが表示されていない場合は、F4 キーを押して表示します。

  4. プロパティ シートの [すべて] タブをクリックし、[既定値] プロパティ ボックスをクリックします。

  5. 式を入力するか、プロパティ ボックスの [ビルド] ボタン ボタン イメージ をクリックし、式ビルダーを使用して式を作成します。

ページの先頭へ

テーブルのフィールドまたはレコードに入力規則を追加する

式は、データベースに入力されるデータを検証し、無効なデータを除外するのに非常に便利です。テーブルには、2 種類の入力規則があります。フィールドの入力規則 (ユーザーが 1 つのフィールドに無効なデータを入力できないようにする) と、レコードの入力規則 (ユーザーが入力規則に一致しないレコードを作成できないようにする) です。どちらの入力規則にも式を使用します。

たとえば、"手持在庫" という名前のフィールドがある "在庫" というテーブルで、0 以上の値を入力するようにユーザーに強制する規則を設定したいとします。つまり、在庫を負の数にすることはできません。これを行うには、"手持在庫" フィールドで次の式をフィールドの入力規則として使用します。

 >=0

手順:フィールドまたはレコードの入力規則を入力する

  1. ナビゲーション ウィンドウで、変更するテーブルをダブルクリックします。Access のテーブルがデータシート ビューで開きます。

  2. フィールドの入力規則を入力する場合、変更するフィールドを選びます。

  3. リボンの [フィールド] をクリックし、[フィールドの入力規則] グループで [入力規則] をクリックし、[フィールドの入力規則] または [レコードの入力規則] をクリックします。Access により、式ビルダーが表示されます。

  4. 抽出条件の入力を開始します。たとえば、すべての値を 0 以上にする必要があるフィールドの入力規則の場合は、次のように入力します。

     >=0

    式の前に等号 (=) を付けないでください。

入力規則の式はブール型です。つまり、特定の入力値に対して True または False のいずれかになります。入力規則では値に対して Trueである必要があります。True でない場合、入力は保存されず、エラーを示す検証メッセージが表示されます。この例で、"手持在庫" フィールドに 0 を下回る値を入力した場合は、入力規則が False になり、Access が値を受け付けません。次のセクションで説明されたとおりに検証メッセージを入力していない場合は、フィールドの入力規則によって入力した値が禁止されていることを示す独自のメッセージが表示されます。

手順:検証メッセージを入力する

より簡単にデータベースを使用するため、カスタム検証メッセージを入力することができます。このメッセージは、データが入力規則に一致しないときに表示される標準メッセージと置き換えられます。カスタム検証メッセージを使用して、たとえば、"手持在庫の値を負の値にすることはできません。" のように、ユーザーが正しいデータを入力できるようにする特定の情報を提供することができます。

  1. ナビゲーション ウィンドウで、変更するテーブルをダブルクリックします。

    テーブルがデータシート ビューに表示されます。

  2. フィールドの検証メッセージを作成する場合、入力規則を追加するフィールドを選びます。

  3. リボンの [フィールド] をクリックし、[フィールドの入力規則] で [入力規則] をクリックし、[フィールドの検証メッセージ] または [レコードの入力規則メッセージ] をクリックします。

  4. [検証メッセージの入力] ダイアログ ボックスで、データが入力規則に一致しないときに表示するメッセージを入力し、[OK] をクリックします。

ページの先頭へ

コントロールに入力規則を追加する

テーブルのフィールドとレコードだけでなく、コントロールにも、式を使用できる "入力規則" プロパティがあります。たとえば、フォームを使用してレポートの日付範囲を入力し、開始日を 2017 年 1 月 1 日より後にしたいとします。開始日を入力するテキスト ボックスの "入力規則" プロパティと "エラーメッセージ" プロパティを次のように設定することができます。

プロパティ

設定

入力規則

>=#1/1/2017#

エラー メッセージ

2017 年 1 月 1 日より前の日付を入力することはできません。

2017 年 1 月 1 日より前の日付を入力しようとすると、メッセージが表示され、"エラーメッセージ" プロパティのテキストが表示されます。"エラーメッセージ" プロパティ ボックスにテキストが入力されていない場合は、Access の汎用メッセージが表示されます。[OK] をクリックすると、テキスト ボックスに戻ります。

テーブル フィールドに対する入力規則を設定すると、その規則はデータベース全体に適用されます。つまり、そのフィールドが変更されたときは必ず適用されます。または、フォームのコントロールに入力規則を設定すると、そのフォームが使用されている場合にのみ規則が適用されます。テーブルのフィールドおよびフォームのコントロールに個別に入力規則を設定すると、ユーザーごとに異なる入力規則を作成する場合に便利です。

手順

  1. ナビゲーション ウィンドウで、変更するフォームまたはレポートを右クリックし、ショートカット メニューの [デザイン ビュー] または [レイアウト ビュー] をクリックします。

  2. 変更するコントロールを右クリックし、ショートカット メニューの [プロパティ] をクリックします。Access により、そのコントロールのプロパティ シートが開きます。

  3. [すべて] タブをクリックし、[入力規則] プロパティ ボックスをクリックします。

  4. 式を入力するか、プロパティ ボックスの [ビルド] ボタン ボタン イメージ をクリックし、式ビルダーを使用して式を作成します。

    式の前に = 演算子を使用しないでください。

  5. ユーザーが入力規則と一致しないデータを入力した場合に表示されるテキストをカスタマイズするには、"エラー メッセージ" プロパティに、表示するテキストを入力します。

ページの先頭へ

レポート内のデータのグループ化および並べ替えを行う

[グループ化、並べ替え、集計] ウィンドウを使用して、レポート内のデータのグループ化レベルや並べ替え順序を定義します。通常は、一覧から選んだフィールドでグループ化または並べ替えを行います。ただし、計算された値に基づいてグループ化または並べ替えを行う場合は、代わりに式を入力することができます。

グループ化は重複する値が含まれる列の結合処理です。たとえば、データベースに異なる都市のオフィスの売上情報が含まれ、そのデータベースのレポートの 1 つが "市町村別売上" という名前だとします。そのレポートにデータを提供するクエリは、データを市区町村の値によってグループ化します。このようなグループ化によって、情報が読みやすく、理解しやすくなります。

それに対し、並べ替えとは、クエリ結果の行 (レコード) に対して並べ替え順序を適用する処理です。たとえば、主キーの値 (または別のフィールドの別の値セット) によってレコードを昇順または降順で並べ替えたり、アルファベット順などの指定した順序で 1 つ以上の文字を基にレコードを並べ替えたりできます。

手順: レポートにグループ化と並べ替えを追加する

  1. ナビゲーション ウィンドウで、変更するレポートを右クリックし、ショートカット メニューの [レイアウト ビュー] または [デザイン ビュー] をクリックします。

  2. リボンの [デザイン] をクリックし、[グループ化と集計] グループの [グループ化と並べ替え] をクリックします。[グループ化、並べ替え、集計] ウィンドウがレポートの下に表示されます。

  3. レポートにグループ化レベルを追加するには、[グループの追加] をクリックします。

  4. レポートに並べ替え順序を追加するには、[並べ替えの追加] をクリックします。

    新しいグループ レベルまたは並べ替え順序に加えて、レポートのデータを提供するフィールドの一覧がウィンドウに表示されます。次の図は、通常の新しいグループ レベル (カテゴリでのグループ化) と並べ替え順序 (製造元での並べ替え) に加えて、グループ化および並べ替えに使用できるフィールドが含まれる一覧も表示しています。

    [グループ化、並べ替え、集計] ウィンドウの式オプションの選択

  5. 使用できるフィールドの一覧で、[] をクリックして式ビルダーの使用を開始します。

  6. 式ビルダーの式ボックス (上のボックス) に、使用する式を入力します。式は、必ず等号 (=) 演算子から始めます。

手順: 既存のグループ化または並べ替えに式を追加する

  1. ナビゲーション ウィンドウで、変更するレポートを右クリックし、ショートカット メニューの [レイアウト ビュー] または [デザイン ビュー] をクリックします。

  2. 変更するグループ レベルまたは並べ替え順序をクリックします。

  3. [グループ化] (グループ化レベルの場合) または [並べ替え] (並べ替え順序の場合) の横に表示される下矢印をクリックします。使用できるフィールドを含む一覧が表示されます。

  4. フィールドを含む一覧の一番下で、[] をクリックして式ビルダーの使用を開始します。

  5. 式ビルダーの式ボックス (上のボックス) に、式を入力します。式は、必ず等号 (=) 演算子から始めます。

ページの先頭へ

実行するマクロ アクションを制御する

特定の条件が True である場合にのみ、マクロの (一連の) アクションを実行したい場合があります。たとえば、テキスト ボックスの値が 10 以上の場合にのみマクロ アクションを実行したいとします。この規則を設定するには、マクロの [If] ブロックで式を使用して、マクロの条件を定義します。

この例では、テキスト ボックスの名前が "品目" であるとします。条件を設定する式は次のとおりです。

[Items]>=10

マクロの [If] ブロックで使用される式

手順

  1. ナビゲーション ウィンドウで、変更するマクロを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。

  2. 変更する [If] ブロックをクリックするか、[アクション カタログ] ウィンドウから [If] ブロックを追加します。

  3. [If] ブロックの一番上の行をクリックします。

  4. ボックスに条件式を入力するか、式ボックスの横にある [ビルド] ボタン ボタン イメージ をクリックし、式ビルダーの使用を開始します。

入力した式はブール値、つまり True または False のいずれかでなければなりません。[If] ブロック内のマクロ アクションは、条件が True の場合にのみ実行されます。

ページの先頭へ

関連項目

式ビルダーを使用する

式の概要

式の構文の概要

式の例

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×