Access内の 2 つ以上のテキスト フィールド内の値を結合する場合は、アンパサンド (&) 演算子を使用する式を作成します。 たとえば、"社員" という名前のフォームがあるとします。 各社員の姓と名は別々のフィールドに入力しますが、フォーム ヘッダーには社員の氏名を表示したいと考えています。
氏名を表示するには、次の式を使用できます。
=[姓] & " " & [名]
この式では、& 演算子を使用して "姓" フィールドの値と "名" フィールドの値を結合しています。 また、この式では、スペース文字で区切られた 2 つの二重引用符 (") を使用することで、名と姓の間にスペースを挿入しています。 スペース、句読点、文字列などを 2 つのフィールドの間に挿入する場合は、その追加する値を引用符で囲む必要があります。
別の例としては、次の式を使用すると、姓と名をコンマとスペースで区切って表示できます。
=[姓] & ", " & [名]
この場合、式では、"姓" フィールドと "名" フィールドの間に引用符で囲まれたコンマとスペースが挿入されます。
次の手順の手順では、FirstName と LastName という名前のフィールドを含むテーブルに基づくフォームがあることを前提としています。 それ以外の場合は、手順 6 の式を独自のデータに合わせて変更できます。
テキスト ボックスを追加して氏名の式を設定する
-
ナビゲーション ウィンドウで、変更するフォームまたはレポートを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。
-
[ フォーム デザイン ] タブまたは [ レポート デザイン ] タブの [ コントロール ] グループで、[ テキスト ボックス] をクリックします。
-
ポインターをフォームまたはレポートにドラッグしてテキスト ボックスを作成します。
-
テキスト ボックスを右クリックし、ショートカット メニューの [プロパティ] をクリックします。
-
プロパティ シートで、[データ] タブをクリックします。
-
[コントロール ソース] プロパティ ボックスの値を =[姓] & " " & [名] に変更します。
-
プロパティ シートを閉じて、変更内容を保存します。
場合によっては、結合するフィールドの 1 つに値が含まれていないこともあります。 このようにデータのない状態は Null 値と呼ばれます。 値のないフィールドに対して & 演算子を使用すると、Access は、そのフィールドについて長さ 0 の文字列を返します。 たとえば、社員のレコードに姓しか含まれていない場合、前の例の式では、"姓" フィールドの値、スペース文字、および "名" フィールドとして長さ 0 の文字列が返されます。
1. "姓" フィールドにデータがないため、"泰江" の前に長さ 0 の文字列とスペースが挿入されます。
複数のフィールドの値を別の新しい文字列として結合するときには、特定のフィールドにデータが存在する場合にのみ、コンマなどの値を新しい文字列に含めたいことがあります。 条件付きで値を含めるには、& 演算子の代わりに + 演算子を使用してフィールドを結合します。 たとえば、"顧客" という名前のテーブルがあり、そのテーブルに "郵便番号"、"都道府県"、および "市区町村" という名前のフィールドが含まれているとします。 レポート用にこれらのフィールドの値を結合する必要がありますが、一部のレコードでは "都道府県" フィールドに値が含まれていません。 この場合、& 演算子を使用してフィールドを結合すると、市区町村の値の前に不必要なコンマが挿入されることになります。
不必要なコンマを除去するには、次の例の式に示されているように、プラス (+) 演算子を使用します。
=([郵便番号] & (", " + [都道府県]) & " " & [市区町村])
+ 演算子は、& 演算子と同じように文字列を結合します。 ただし、+ 演算子では、いわゆる "Null 値の反映" もサポートしています。 Null 値の反映により、式の要素が 1 つでも Null である場合は、式全体の結果も常に Null になります。 前の例の式の (", " + [都道府県]) という部分に注目してください。 + 演算子が使用されているため、内側のかっこ内で評価される式は、"都道府県" フィールドに値が存在する場合にのみ、コンマが含まれます。 "都道府県" フィールドに値が存在しない場合は、Null 値の反映が有効になり、内側のかっこ内の式が Null 値として評価されるので、コンマは非表示になります。
1. "都道府県" に値が含まれているレコードは、コンマ、スペース、都道府県が追加された形式で表示されます。
2. "市区町村" フィールドの値が "豊島区" のレコードには都道府県が指定されていないため、式の結果にコンマ、スペース、都道府県は表示されません。