式を使用して文字列値を結合する

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access で 2 つ以上のテキスト フィールドの値を結合するには、 & 演算子を使用する式を作成します。 たとえば、 Employees という名前のフォームがあるとします。 各社員の姓と名は別々のフィールドに入力しますが、フォーム ヘッダーには社員の氏名を表示したいと考えています。

氏名を表示するには、次の式を使用できます。

=[FirstName] & " " & [LastName]

式では、 & 演算子を使用して、 FirstName フィールドと LastName フィールドの値を結合します。 また、スペースで区切られた二重引用符 (") のペアを使用して、名と姓の間にスペースを挿入します。 スペース、句読点、リテラル テキストなど、2 つのフィールド間に何かを挿入する場合は、その値を引用符で囲みます。

次の式を使用して、姓と名をコンマとスペースで区切って表示することもできます。

=[LastName] & ", " & [FirstName]

この場合、式は、 LastName フィールドと FirstName フィールドの間にコンマとスペースを引用符で囲んで挿入します。

次の手順では、 FirstNameLastName という名前のフィールドを含むテーブルに基づくフォームがあることを前提としています。 それ以外の場合は、手順 6 の式を独自のデータに合わせて変更できます。

テキスト ボックスを追加して氏名の式を設定する

  1. ナビゲーション ウィンドウで、変更するフォームまたはレポートを右クリックし、ショートカット メニューの [デザイン ビュー] を選択します。
  2. [ フォーム デザイン ] タブまたは [ レポート デザイン ] タブの [ コントロール ] グループで、[ テキスト ボックス] を選択します。
  3. ポインターをフォームまたはレポートにドラッグしてテキスト ボックスを作成します。
  4. テキスト ボックスを右クリックし、ショートカット メニューの [プロパティ ] を選択します。
  5. プロパティ シートで、[ データ ] タブを選択します。
  6. [ コントロール ソース ] プロパティ ボックスの値を =[FirstName] & " " & [LastName]に変更します。
  7. プロパティ シートを閉じて、変更内容を保存します。

結合するフィールドの 1 つに値が含まれていない場合があります。 このデータが存在しない場合は 、null 値と呼ばれます。 値のないフィールドで & 演算子を使用すると、そのフィールドの長さが 0 の文字列が返されます。 たとえば、従業員レコードに姓しかない場合、前の例の式は、 FirstName フィールドの長さ 0 の文字列、スペース、 LastName フィールドの値を返します。

  1. FirstName フィールドにはデータがないため、Martinezの前に長さ 0 の文字列とスペースが付きます。

複数のフィールドの値を新しい文字列に結合する場合は、特定のフィールドにデータが存在する場合にのみ、コンマなどの値を含めることができます。 そのためには、&演算子の代わりに + 演算子を使用してフィールドを結合します。 たとえば、CityStatePostal Codeという名前のフィールドを含む Customer という名前のテーブルがあるとします。 レポートのこれらのフィールドの値を結合する必要がありますが、一部のレコードには State フィールドに値がない場合があります。 その場合、 & 演算子を使用すると、郵便番号の前に不要なコンマが表示されます。

不要なコンマを削除するには、次の式に示すように、 + 演算子を使用します。

=([City] & (", " + [State]) & " " & [PostalCode])

+演算子は、& 演算子と同じ方法でテキストを結合します。 ただし、 + 演算子は null 伝達もサポートしています。 Null 伝達は、式のいずれかのコンポーネントが null の場合、式全体の結果も null であることを意味します。 前の例では、式の (", " + [State]) 部分について考えてみましょう。 +演算子が使用されるため、内かっこ内の式には、State フィールドに値が存在する場合にのみコンマが含まれます。 State フィールドに値が存在しない場合、null 伝達が有効になり、内部かっこ内の式は null 値に評価されます。 これはコンマを非表示にします。

状態が指定されに場合の数式結果の例

  1. 状態の値を含むレコードは、コンマ、スペース、および状態の省略形で表示されます。

  2. City フィールドにHoustonを持つレコードに状態が指定されていないため、結果はコンマ、スペース、または状態の省略形なしで表示されます。

先頭に戻る