當你想在 Access 中合併兩個或多個文字欄位的值時,你會建立一個使用&符號 (&) 運算子的表達式。 例如,假設您有一份稱為「員工」的表單。 您在個別的欄位中輸入每個員工的名字和姓氏,但您想要在表單首中顯示員工的全名。
若要顯示全名,您可以使用下列運算式:
=[名字] & “ ” & [姓氏]
此表達式使用 & 運算子將 FirstName 與 LastName 欄位中的值合併。 此運算式也使用一對以空格字元隔開的雙引號 ("),在名字與姓氏之間插入一個空格。 當您想要在兩個欄位之間插入某個項目 (例如空格、標點符號字元或常值文字),您必須以雙引號括住該額外的值。
另一個範例是,您可以使用下列運算式顯示姓氏和名字,並以逗號和空格隔開:
=[姓氏] & “, ” & [名字]
在此情況下,此運算式在 LastName 和 FirstName 欄位之間插入以雙引號括住的逗號和空格。
下列程序中的步驟假設您有一份表單,且該表單是以包含名為 FirstName 和 LastName 的欄位的資料表為基礎。 若非如此,您可以在步驟 6 中更改運算式以符合您自己的資料。
新增含有全名運算式的文字方塊
- 在 [瀏覽窗格] 中,以滑鼠右鍵按一下您要變更的表單或報表,然後按一下捷徑功能表上的 [設計檢視]。
- 在 「表單設計 」或 「報表設計」 分頁,控制 項 群組中,點選 「文字框」。
- 拖曳表單或報表上的指標以建立文字方塊。
- 以滑鼠右鍵按一下文字方塊,然後按一下捷徑功能表上的 [屬性]。
- 按一下屬性表中的 [資料] 索引標籤。
- 將控制來源屬性框中的值改為 =[FirstName] & “” & [LastName]。
- 關閉屬性表並儲存您的變更。
有時您要合併的其中一個欄位可能未包含值。 缺少資料即稱為 Null 值。 當你對沒有值的欄位使用 & 運算子時,Access 會回傳該欄位的零長度字串。 例如,如果員工的記錄只有姓氏,上述範例中的運算式會針對 FirstName 欄位傳回零長度字串、空格字元,以及 LastName 欄位中的值。
1. 由於 FirstName 欄位中沒有資料,「Martinez」前方會加上一個零長度的字串和一個空格。
當您將多個欄位的值合併為一個新字串,只有在某個特定欄位中存在資料時,您才可能會想要在新字串中包含某個值 (例如逗號)。 要有條件地包含一個值,你用 + 運算子取代 & 運算子來合併欄位。 例如,假設您有一份稱為「客戶」的資料表,而該資料表包含稱為 City、State 和 PostalCode 的欄位。 您想要合併報表的這些欄位中的值,但某些記錄在 [縣/市] 欄位中可能沒有值。 在這種情況下,如果你用 & 運算子合併欄位,郵遞區號值前會出現不必要的逗號。
為了消除不想要的逗號,你可以改用加號 (+) 運算 子,如下範例表達式所示:
= ([城市] & (“, ” + [州]) &“ ” & [郵遞區號])
+ 操作符以與 & 操作符相同的方式組合文字。 然而, + 運算子也支援所謂的 Null 傳播。 Null 傳播確保運算式中如有任何元件為 Null,則整個運算式的結果也為 Null。 在上述範例中,請考慮運算式的 (", " + [State]) 部分。 由於使用 了 + 運算子,內括號內的運算式只有在狀態欄位中存在某值時才包含逗號。 如果 [State] 欄位中沒有值存在,Null 傳播會生效,而且內括號中的運算式會評估為 Null 值,因而「隱藏」逗號。
1. 包含狀態值的紀錄會以逗號、空格和狀態縮寫顯示。
2. 該記錄的 City 欄位中未指定 Houston 值的狀態,因此表達式的結果會顯示不包含逗號、空格或狀態縮寫。