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

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに英語の記事があります。

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

この記事の内容

条件式の理解

条件式を作成する

条件式の例

条件式の理解

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

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

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

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

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

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

    これに対し、クエリの [抽出条件] フィールドでこの式を使用すると、 ween #04/01/2018 # AND #05/15/2018 # という抽出条件を満たすレコードのみが返されます。

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

ページの先頭へ

条件式を作成する

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

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

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

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

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

    > = #01/01/01 #

    注: 米国の日付形式を使用する必要はありません。 日付形式は、国/地域またはロケールに対して使用できます。 ただし、表示されているように、日付値をシャープ記号 (#) で囲む必要があります。

  4. [評価テキスト] の横にある列をクリックし、次のテキスト文字列を入力します。

    2000年1月1日よりも後の日付を指定する必要があります。

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

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

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

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

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

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

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

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

    > = #01/01/01 #

    注: 米国の日付形式を使用する必要はありません。 日付形式は、国/地域またはロケールに対して使用できます。 ただし、表示されているように、日付値をシャープ記号 (#) で囲む必要があります。

  4. [評価テキスト] の横にある列をクリックし、次のテキスト文字列を入力します。

    2000年1月1日よりも後の日付を指定する必要があります。

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

クエリに式を追加する

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

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

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

    式を入力するときは、Field_Name のインスタンスと日付/時刻フィールドの名前を両方とも置き換えてください。 また、2018年4月1日より前の日付が表に含まれていない場合は、データを操作するために式の日付を変更します。

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

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

続行すると、すべての条件式でIIf関数が使用されるとは限りません。 また、 IIf関数は引数を必要とする式の一部であり、式自体には含まれていないことに注意してください。

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

ページの先頭へ

条件式の例

次の表の式は、true と false の値を計算するためのいくつかの方法を示しています。 これらの式では、 IIf関数 (イミディエイト If) を使用して、条件が true または false かどうかを判断し、条件が true の場合は1つの値、条件が false の場合は別の値を返します。

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

説明

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

[承諾] フィールドの値が "はい" である場合、"受注は確認されました" というメッセージを表示します。それ以外の場合は、"順序が確認されていない" というメッセージが表示されます。

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

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

= IIf (IsNull ([region]), [市区町村] & "" & [郵便番号], [市区町村] & "" & [地域] & "" & [郵便番号])

Region フィールドの値が Null の場合、[市区町村] フィールドと [郵便番号] フィールドの値が表示されます。それ以外の場合は、[市区町村]、[都道府県]、[郵便番号] の各フィールドの値が表示されます。

= IIf (IsNull ([締切日]-[出荷日]), "欠落している日がないか確認", [締切日]-[出荷日])

[締切日] フィールドから [出荷日] フィールドの値が Null である場合、"欠落している日がないか確認" というメッセージが表示されます。それ以外の場合は、[締切日] フィールドと [出荷日] フィールドの値の差を表示します。

ページの先頭へ

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

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

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

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

×