您可以使用字串函數在 Access 中建立以各種方式操作文字的運算式。 例如,您可能只想要在表單上顯示序列值的一部分。 或者,您可能需要加入 (串連) 數個字串,例如姓氏和名字。 如果您還不熟悉表示式,請參閱 建立表達式。
以下是 Access 中一些較常見字串運算的清單,以及您用來執行這些運算的函數:
若要… |
使用... |
例如... |
結果 |
---|---|---|---|
傳回字串開頭的字元 |
=Left ([SerialNumber],2) |
如果 [SerialNumber] 為 “CD234”,則結果為 “CD”。 |
|
傳回字串結尾的字元 |
=Right ([SerialNumber],3) |
如果 [SerialNumber] 為 “CD234”,則結果為 “234”。 |
|
尋找字串中某個字元的位置 |
=InStr (1,[FirstName],“i”) |
如果 [FirstName] 為 “Colin”,則結果為 4。 |
|
傳回字串中間的字元 |
=Mid ([SerialNumber],2,2) |
如果 [SerialNumber] 為 “CD234”,則結果為 “D2”。 |
|
修剪字串中的前置或結尾空格 |
=Trim ([FirstName]) |
如果 [FirstName] 為 “Colin”,則結果為 “Colin”。 |
|
將兩個字串連接在一起 |
加號 (+) 運算子* |
=[FirstName] + [LastName] |
如果 [FirstName] 是 “Colin”,而 [LastName] 是 Wilcox,則結果為 “ColinWilcox” |
將兩個字串連接在一起,並在它們之間加入一個空格 |
加號 (+) 運算子* |
=[FirstName] + “ ” + [LastName] |
如果 [FirstName] 是 “Colin”,而 [LastName] 是 Wilcox,則結果為 “Colin Wilcox” |
將字串的大小寫變更為大寫或小寫 |
=UCase ([FirstName]) |
如果 [FirstName] 為 “Colin”,則結果為 “COLIN”。 |
|
決定字串的長度 |
=Len ([FirstName]) |
如果 [FirstName] 是 “Colin”,則結果為 5。 |
* 好的,所以這不是函數,它是運算符。 不過,這是將字串聯結在一起的最快方式。 在桌面資料庫中,您也可以使用安培運算子 (&) 來進行排散。
Access 中還有許多其他文字相關函數。 若要深入瞭解,最好開啟表達式建立器並流覽函數清單。 表達式建立器幾乎可在您想要建立表達式的任何位置使用,通常會有一些看起來像這樣的 [ 建立 ] 按鈕:
若要示範表達式建立器,讓我們從窗體或檢視上的 [控件來源 ] 屬性開啟它。 視您使用的是桌面資料庫或 Access Web App 而定,請使用下列其中一個程式。
在桌面資料庫中顯示表示式建立器
-
(.accdb) 開啟桌面資料庫。
-
如果導航窗格尚未開啟,請按 F11 開啟該窗格。
-
如果您已經有可用的表單,請在 [導航窗格] 中以滑鼠右鍵按下該表單,然後按兩下 [ 版面配置檢視]。 如果您沒有要使用的表單,請按兩下 [ 建立 表單 > ]。
-
以滑鼠右鍵按兩下窗體上的文字框,然後按兩下 [ 內容]。
-
在 [屬性表] 中,按兩下 [所有 > 控件來源],然後按兩下 [控件來源] 屬性方塊右側 [建立] 按鈕。
-
在 [表達式元素] 底下,展開 函數 節點,然後按兩下 [內建函數]。
-
在 [表達式類別] 底下,按兩下 [ 文字]。
-
在 [表達式值] 底下,按兩下各種函數,並閱讀表達式建立器底部的簡短描述。
附註: 並非所有這些函數都可在所有內容中使用;Access 會根據哪些專案在每個上下文中運作,自動篩選清單。
結合文字函數以獲得更多彈性
某些字串函數具有數值自變數,在某些情況下,您必須在每次呼叫函數時計算。 例如,Left 函數採用字串和數位,如 =Left (SerialNumber,2) 。 如果您知道一律需要左側兩個字元,但如果您需要的字元數因專案而異,這會很棒嗎? 您可以輸入另一個函數來計算字元數,而不只是「硬性編碼」。
以下是序列值的範例,其中每一個在字串的某個位置都有連字元。 不過,連字元的位置會隨之不同:
SerialNumber |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
如果您只想要顯示連字元左邊的數位,您必須每次都執行計算,以找出連字元的位置。 其中一個選項是執行如下所示的動作:
=Left ([SerialNumber],InStr (1,[SerialNumber],“-”) -1)
我們已插入 InStr 函數,以傳回連字元在序列值中的位置,而不是將數位輸入為 Left 函數的第二個自變數。 從該值減去 1,您會獲得正確的 Left 函數傳回字元數。 一開始看起來有點複雜,但只要進行一些實驗,您就可以合併兩個或多個運算式,以取得您想要的結果。