字串函數及其使用方法

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

透過字串函式,你可以在 Access 中建立表達式,以多種方式處理文字。 例如,你可能想在表單上只顯示部分序號。 或者,你可能需要將 () 多個字串串接在一起,例如姓氏和名字。 如果你還不熟悉表達式,請參考 「建構表達式」。

以下是 Access 中一些較常見的字串操作,以及你會用來執行它們的函式列表:

若要… 用...... 舉例來說...... 結果​​
字串開頭的字元回傳 左函數 =左 ([序號],2) 若序號為「CD234」,則結果為「CD」。
從字串末尾回傳字元 右函數 =右 ([序號],3) 若序號為「CD234」,則結果為「234」。
找出字串中字元的位置 InStr 函數 =InStr (1,[名字],“i”) 如果 [FirstName] 是「Colin」,結果是 4。
從字串中間回傳字元 中段功能 =中 ([序號],2,2) 若序號為「CD234」,則結果為「D2」。
弦的前導或後方修飾空格 LTrim、RTrim 與 Trim 功能 =修剪 ([名字]) 如果 [FirstName] 是「Colin」,則結果是「Colin」。
把兩根弦連接起來 加號 (+) 運算子* =[名字] + [姓氏] 若 [FirstName] 是「Colin」,[姓氏]是 Wilcox,則結果為「ColinWilcox」
將兩根弦連接起來,中間留有空隙 加號 (+) 運算子* =[名字] + “ ” + [姓氏] 若 [FirstName] 是「Colin」,[姓氏]是 Wilcox,則結果為「Colin Wilcox」。
將字串的大小寫改為大寫或小寫 UCase功能LCase功能 =UCase ([名字]) 若 [FirstName] 是「Colin」,則結果為「COLIN」。
確定一條字串的長度 Len 函數 =倫 ([名字]) 如果 [FirstName] 是「Colin」,結果是 5。

* 好,所以這不是函數,是運算子。 不過,這是最快連接線的方式。 在桌面資料庫中,你也可以使用&符號運算子 (&) 來串接。

Access 中還有更多與文字相關的功能。 一個更好的方法是打開表達式建構器,瀏覽函式清單。 表達式建構器幾乎在你想建立表達式的地方都能使用——通常會有個小小的 建構 按鈕,長得像這樣: 按鈕圖片

為了示範表達式建構器,讓我們從表單或視圖上的 控制來源 屬性開啟它。 根據你使用的桌面資料庫或 Access 網頁應用程式,請使用以下其中一個程序。

在桌面資料庫中顯示表達式建構器

  1. 開啟桌面資料庫 (.accdb) 。

  2. 如果導航窗格還沒開啟,請按 F11 開啟。

  3. 如果你已經有表單,請在導航窗格中右鍵點擊,然後點擊 版面檢視。 如果你沒有表單可用,請點擊 建立>表單

  4. 在表單上右鍵點擊文字框,然後點 選屬性

  5. 在屬性表中,點選「所有>控制來源」,並點選控制來源屬性框右側的建置按鈕圖片

    屬性工作表中的 [建立] 按鈕。

  6. 表達式元素中,展開 功能 節點並點選內建 函式

  7. 表達類別中,點選 文字

  8. 表達式值中,點擊各種函式,閱讀表達式建構器底部的簡短說明。

    注意

    並非所有這些功能在所有情境下都能使用;Access 會根據在不同情境中有效的方法自動篩選清單。

結合文字函式以增加彈性

有些字串函數有數值參數,有時每次呼叫時都得計算。 例如,Left 函數會取一個字串和一個數字,例如 =Left (SerialNumber, 2) 。 如果你知道自己總是需要剩下的兩個角色,這點很棒,但如果不同物品需要的角色數量會不一樣呢? 你不只是「硬編碼」字元數,而是輸入另一個函式來計算。

這裡有一個序號的例子,每個序號的字串中都有連字號。 然而,連字號的位置會有所不同:

序號
3928-29993
23-9923
333-53234
3399940-444

如果你只想顯示連字號左邊的數字,每次都需要計算來找出連字號的位置。 一個選項是這樣做:

=左 ([序號],InStr (1,[序號],“-”) -1)

我們不是把數字當作 Left 函數的第二個參數,而是代入 InStr 函數,它會回傳序號中連字號的位置。 從該值減去 1,就能得到 Left 函數回傳的正確字元數。 一開始看起來有點複雜,但只要稍微嘗試,你可以結合兩個或更多表達式,得到你想要的效果。