Access で 2 つ以上のテキスト フィールドの値を結合するには、 & 演算子を使用する式を作成します。 たとえば、 Employees という名前のフォームがあるとします。 各社員の姓と名は別々のフィールドに入力しますが、フォーム ヘッダーには社員の氏名を表示したいと考えています。
氏名を表示するには、次の式を使用できます。
=[FirstName] & " " & [LastName]
式では、 & 演算子を使用して、 FirstName フィールドと LastName フィールドの値を結合します。 また、スペースで区切られた二重引用符 (") のペアを使用して、名と姓の間にスペースを挿入します。 スペース、句読点、リテラル テキストなど、2 つのフィールド間に何かを挿入する場合は、その値を引用符で囲みます。
次の式を使用して、姓と名をコンマとスペースで区切って表示することもできます。
=[LastName] & ", " & [FirstName]
この場合、式は、 LastName フィールドと FirstName フィールドの間にコンマとスペースを引用符で囲んで挿入します。
次の手順では、 FirstName と LastName という名前のフィールドを含むテーブルに基づくフォームがあることを前提としています。 それ以外の場合は、手順 6 の式を独自のデータに合わせて変更できます。
テキスト ボックスを追加して氏名の式を設定する
- ナビゲーション ウィンドウで、変更するフォームまたはレポートを右クリックし、ショートカット メニューの [デザイン ビュー] を選択します。
- [ フォーム デザイン ] タブまたは [ レポート デザイン ] タブの [ コントロール ] グループで、[ テキスト ボックス] を選択します。
- ポインターをフォームまたはレポートにドラッグしてテキスト ボックスを作成します。
- テキスト ボックスを右クリックし、ショートカット メニューの [プロパティ ] を選択します。
- プロパティ シートで、[ データ ] タブを選択します。
- [ コントロール ソース ] プロパティ ボックスの値を
=[FirstName] & " " & [LastName]に変更します。 - プロパティ シートを閉じて、変更内容を保存します。
結合するフィールドの 1 つに値が含まれていない場合があります。 このデータが存在しない場合は 、null 値と呼ばれます。 値のないフィールドで & 演算子を使用すると、そのフィールドの長さが 0 の文字列が返されます。 たとえば、従業員レコードに姓しかない場合、前の例の式は、 FirstName フィールドの長さ 0 の文字列、スペース、 LastName フィールドの値を返します。
-
FirstNameフィールドにはデータがないため、Martinezの前に長さ 0 の文字列とスペースが付きます。
複数のフィールドの値を新しい文字列に結合する場合は、特定のフィールドにデータが存在する場合にのみ、コンマなどの値を含めることができます。 そのためには、&演算子の代わりに + 演算子を使用してフィールドを結合します。 たとえば、City、State、Postal Codeという名前のフィールドを含む Customer という名前のテーブルがあるとします。 レポートのこれらのフィールドの値を結合する必要がありますが、一部のレコードには State フィールドに値がない場合があります。 その場合、 & 演算子を使用すると、郵便番号の前に不要なコンマが表示されます。
不要なコンマを削除するには、次の式に示すように、 + 演算子を使用します。
=([City] & (", " + [State]) & " " & [PostalCode])
+演算子は、& 演算子と同じ方法でテキストを結合します。 ただし、 + 演算子は null 伝達もサポートしています。 Null 伝達は、式のいずれかのコンポーネントが null の場合、式全体の結果も null であることを意味します。 前の例では、式の (", " + [State]) 部分について考えてみましょう。
+演算子が使用されるため、内かっこ内の式には、State フィールドに値が存在する場合にのみコンマが含まれます。
State フィールドに値が存在しない場合、null 伝達が有効になり、内部かっこ内の式は null 値に評価されます。 これはコンマを非表示にします。
状態の値を含むレコードは、コンマ、スペース、および状態の省略形で表示されます。
CityフィールドにHoustonを持つレコードに状態が指定されていないため、結果はコンマ、スペース、または状態の省略形なしで表示されます。