条件式 (ブール式) を作成する

この記事では、Access で条件付き (ブール式とも呼ばれる) を作成する方法について説明します。 条件式は true または false に評価され、指定した条件を満たす結果が返されます。 条件付き式で関数を使用する場合は、式で条件を満たす値と満たされない値に対してアクションを指定することもできます。 たとえば、利益率が 10% 以下のすべての売上を検索する式を作成し、その数値を赤字で表示するか、値をメッセージに置き換える式を作成できます。

この記事の内容

条件式を理解する

条件付き式は、データが条件を満たした場合に確認し、結果に応じてアクションを実行する式の一種です。 たとえば、式で特定の開始日より後の日付値を検索し、定義された開始日より前の日付を入力しようとするときにエラー メッセージを表示できます。

条件付き式は、他の式と同じ形式で基本的な構文を使用し、他の式と同じ方法で使用できます。

  • テーブル フィールドの場合は、フィールドの [入力規則] プロパティに式 を追加します。 ユーザーは、式の条件に一致する値をフィールドに入力する必要があります。 たとえば、日付/時刻フィールドに> =#1/1/2000# などの式を使用する場合、ユーザーは 2000 年 1 月 1 日以降の値を入力する必要があります。

  • フォーム上のコントロールの場合は、コントロールの "コントロール ソース" プロパティまたは "入力規則"プロパティに式を追加できます。 通常、入力規則プロパティに条件付き式を追加し、値を計算する式を [コントロール ソース] プロパティに追加します。 たとえば、コントロールの入力規則>プロパティで>=#1/1/2000#を使用すると、ユーザーは無効な日付を入力できます。 "コントロール ソース" プロパティ で Date() などの式を 使用すると、 現在の日付が既定値として表示されます。

  • クエリの場合は、[フィールド] 行の空白セルに条件式を追加するか、クエリの [条件] 行で式を使用できます。 [フィールド] 行で式を 使用 すると、クエリ結果に結果が列として表示されます。 既存のフィールドの条件として式を使用する場合、式はフィルターとして機能し、クエリで返されるレコードを制限します。

    たとえば、次の式をクエリの [フィールド] 行で使用できます。 =IIf([受注日]<=#04/2018/01#,[受注日],"4月 1 日より後に入力された受注") 式では、日付の条件を指定します (=#04 </01/2018#) クエリが実行されると、条件を満たすすべての日付値が表示され、条件を満たしていない日付値は"4 月 1 日より後に入力された順序" というメッセージに置き換えます。 「式を クエリに追加 する」セクションの手順では、クエリでこの式を使用する方法について説明します。

    一方、クエリの [条件] フィールドでこの式を使用すると、条件を満たす日付のレコードだけが返されます。Between #04/2018/AND #05/2018/15#

式の作成と使用の詳細については、「式を作成する 方法」を参照してください

ページの先頭へ

条件付き式を作成する

このセクションの手順では、テーブル、フォームまたはレポートのコントロール、クエリに条件付き式を追加する方法について説明します。 各ステップ セットでは、日付/時刻フィールドの値をテストし、日付値が指定した条件を満たしたかどうかに基づいてアクションを実行するために、少し異なる式を使用します。

テーブル フィールドに式を追加する

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

  2. [データ 型] 列 で、[日付/時刻] フィールドをクリックします。

  3. [フィールド プロパティ] の[全般]タブ、[入力規則] プロパティ ボックスをクリックし、次の式を入力します。

    >=#01/01/2000#

    注: 米国の日付形式を使用する必要はありません。 お客様の国/地域またはロケールに日付形式を使用できます。 ただし、次に示すように、日付値をポンド記号(#)で囲む必要があります。

  4. [入力規則のテキスト] の横 の列をクリックし、 次の文字列を入力します。

    日付は 2000 年 1 月 1 日より大きい値である必要があります。

    ここでも、ローカルの日付形式を使用できます。

  5. 変更を保存し、データシート ビューに切り替えます。 これを行うには、テーブルのドキュメント タブを右クリックし、ショートカット メニューの [データシート ビュー] をクリックします。

  6. 2000 年 1 月 1 日より前の日付/時刻フィールドに日付値を入力します。 Access では、[入力規則]プロパティ ボックスで指定されたメッセージが表示され、式が true と評価される値を入力しない限り、フィールドから離れすることはできません。

コントロールに式を追加する

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

  2. 日付/時刻フィールドにバインドされているコントロールを右クリックし、ショートカット メニューの [ プロパティ] をクリックします。

    コントロールのプロパティ シートが表示されます。

  3. [データ]タブまたは [すべて] タブで、入力規則の横にあるフィールドをクリックし、次の式を入力します。

    >=#01/01/2000#

    注: 米国の日付形式を使用する必要はありません。 お客様の国/地域またはロケールに日付形式を使用できます。 ただし、次に示すように、日付値をポンド記号(#)で囲む必要があります。

  4. [入力規則のテキスト] の横 の列をクリックし、 次の文字列を入力します。

    日付は 2000 年 1 月 1 日より大きい値である必要があります。

  5. 変更を保存し、フォーム ビューに切り替えます。 これを行うには、フォームのドキュメント タブを右クリックし、ショートカット メニューの [フォーム ビュー ] をクリックします。

クエリに式を追加する

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

  2. デザイン グリッドの [ フィールド] 行の空白セルをクリックし、次の式を入力します。

    =IIf([Field_Name]<=#04/01/2018# , [Field_Name ] ,"2018年 4 月 1 日より後の日付")

    式を入力する場合は、フィールドの両方のインスタンスを必Field_Name日付/時刻フィールドの名前に置き換える必要があります。 また、2018 年 4 月 1 日より前の日付がテーブルに含まれている場合は、式の日付を変更してデータを処理します。

  3. 変更を保存し、[実行] を クリック して結果を表示します。

式は次のように動作します。 最初の引数(=IIf([Field_Name]<=#04/2018/01#) は、データが満たす必要がある条件を指定します。日付は 2018 年 4 月 1 日以前である必要があります。 2 番目の引数 ([Field_Name]) は、条件が満たされた場合に表示されるフィールドの日付を指定します。 3 番目の引数("2018年 4 月 1 日より後の日付") は、データが条件を満たしていないときにユーザーに表示されるメッセージを指定します。

処理を進めるに当たって、すべての条件式で IIf 関数が使用されるという 問題に注意 してください。 また 、IIf 関数 は、式自体ではなく、引数を必要とする式の一部です。

式と式の使い方の詳細については、「式を作成する 方法」の記事を参照してください

ページの先頭へ

条件式の例

次の表に、true と false の値を計算する方法を示します。 これらの式では 、IIf 関数 (Immediate If) を使用して条件が True か False か判断し、条件が True の場合は 1 つの値を返し、False の場合は別の値を返します。

詳細については 、「IIf 関数」を 参照してください。

説明

=IIf([確認] = "Yes", "受注は確認されました。", "受注は確認できません。")

[確認済み] フィールドの値が [はい] の場合は、"受注確認" というメッセージが表示されます。それ以外の場合は、"ご注文は確認されていません" というメッセージが表示されます。

=IIf(IsNull([国/地域])," ", [国/地域])

[国/地域] フィールドの値が Null の場合は、空の文字列を表示します。それ以外の場合は、[国/地域] フィールドの値が表示されます。

=IIf(IsNull([Region]),[City]&" "& [PostalCode], [City]&" "&[Region]&" " &[PostalCode])

[地域] フィールドの値が Null の場合は、[郵便番号] フィールドと [郵便番号] フィールドの値を表示します。それ以外の場合は、[市区町町区町田]、および [郵便番号] フィールドの値が表示されます。

=IIf(IsNull([RequiredDate] - [ShippedDate]), "不足している日付を確認する", [RequiredDate] - [出荷日])

RequiredDate フィールドから出荷日フィールドの値を減算した結果が Null の場合は、"欠落している日付を確認する" というメッセージを表示します。それ以外の場合は、[RequiredDate] フィールドと [出荷日] フィールドの値の差が表示されます。

ページの先頭へ

ヘルプを表示

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

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

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

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

×