若要在 Access 中組合兩個或多個文字欄位的值,請建立一個使用 該運算子的 & 表達式。 例如,假設你有一個名為 Employees的形式。 您在個別的欄位中輸入每個員工的名字和姓氏,但您想要在表單首中顯示員工的全名。
若要顯示全名,您可以使用下列運算式:
=[FirstName] & " " & [LastName]
該表達式使用運算&子將 和 LastName 欄位中的FirstName值合併。 它還使用一對雙引號 (") 中間有空格,插入名字與姓氏之間的空格。 當你想在兩個欄位之間插入某些東西,例如空格、標點符號或文字時,請用引號包住該值。
你也可以使用以下表達式來顯示姓氏和名字,中間用逗號和空格分隔:
=[LastName] & ", " & [FirstName]
此時,表達式會在 和 FirstName 欄位之間LastName插入逗號和引號中的空格。
以下步驟假設你有一個基於包含欄位 FirstName 和 LastName的表型。 若非如此,您可以在步驟 6 中更改運算式以符合您自己的資料。
新增含有全名運算式的文字方塊
- 在 導航窗格中,右鍵點擊你想更改的表單或報表,然後在捷徑選單中選擇 「設計檢視 」。
- 在 表單設計 或 報表設計 標籤中, 控制項群組 中選擇 文字框。
- 拖曳表單或報表上的指標以建立文字方塊。
- 右鍵點擊文字框,然後在快捷鍵選單中選擇 屬性 。
- 在屬性表中,選擇 「資料 」標籤。
- 將 控制來源 屬性框中的值改為
=[FirstName] & " " & [LastName]。 - 關閉屬性表並儲存您的變更。
有時候,你想合併的某個欄位沒有包含某個值。 這種資料缺失稱為 空值。 當你對沒有值的欄位使用運算 & 子時,Access 會回傳該欄位的零長度字串。 例如,若員工紀錄只有姓氏,前例中的表達式會回傳欄位的零長度字串 FirstName 、一個空格及欄位中的 LastName 值。
- 由於欄位中沒有資料
FirstName,Martinez前方有一個零長度的字串和一個空格。
當你將多個欄位的值合併成新字串時,可能只在特定欄位中有資料時才加入像逗號這樣的值。 要做到這點,請使用 + 運算子而非 & 運算子來合併欄位。 例如,假設你有一個名為 Customer 、 、 的欄位,該表包含了 City、 State和 Postal Code。 你想把這些欄位的值合併成報表,但有些紀錄欄位裡可能沒有值 State 。 在那種情況下,如果你用 carrier, & 郵遞區號前面會出現一個不需要的逗號。
要移除不想要的逗號,請使用 + 運算子,如下表達式所示:
=([City] & (", " + [State]) & " " & [PostalCode])
+運算子以與運算&子相同的方式組合文字。 然而,該 + 運算元同時也支援 零傳播。 零傳播意指若表達式中任一成分為空,整個表達式的結果也為空。 在前述範例中,考慮表達式的部分 (", " + [State]) 。 由於 + 使用了運算子,內括號內的表達式只有在欄位中存在 State 某值時才包含逗號。 若欄位中不存在 State 某個值,則會進行空傳播,內括號內的表達式會被計算為空值。 這樣可以遮住逗號。
包含狀態值的紀錄會以逗號、空格和狀態縮寫顯示。
欄位中未指定 的
HoustonCity紀錄狀態,因此結果顯示時不包含逗號、空格或狀態縮寫。