字串函數及其使用方法
Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

使用字串函式,您可以在 Access 中建立運算式,以各種方式操作文字。 例如,您可能只想在表單上顯示序號的一部分。 或者,您可能需要將數個字串) 連接 (串連在一起,例如姓氏和名字。 如果您還不熟悉運算式,請參閱 建立運算式

以下是 Access 中一些較常見的字串作業清單,以及用來執行這些作業的函式:

若要…

使用...

比如。。。

結果​​

從字串開頭傳回字元

左功能

=左 ([序列號],2)

如果 [SerialNumber] 是 “CD234”,則結果是 “CD”。

從字串結尾傳回字元

正確的功能

=右 ([序列號],3)

如果 [SerialNumber] 是 “CD234”,則結果是 “234”。

尋找字串中字元的位置

InStr 函數

=InStr (1,[名字],“i”)

如果 [FirstName] 是 “Colin”,則結果為 4。

從字串中間傳回字元

中功能

=中 ([序列號],2,2)

如果 [SerialNumber] 是 “CD234”,則結果是 “D2”。

從字串中修剪前導或尾隨空格

LTrim、RTrim 和 Trim 函數

=修剪 ([名字])

如果 [FirstName] 是 “ Colin ”,則結果是 “Colin”。

將兩個字串連接在一起

加號 (+) 運算子*

=[名字] + [姓氏]

如果 [FirstName] 是 “Colin”,而 [LastName] 是 Wilcox,則結果是 “ColinWilcox”

將兩個字串連接在一起,並在它們之間留出空格

加號 (+) 運算子*

=[名字] + “ ” + [姓氏]

如果 [FirstName] 是 “Colin”,而 [LastName] 是 Wilcox,則結果是 “Colin Wilcox”

將字串的大小寫變更為大寫或小寫

UCase 函數LCase 函數

=UCase ([名字])

如果 [FirstName] 是 “Colin”,則結果是 “COLIN”。

決定字串的長度

Len 函數

=倫 ([名字])

如果 [FirstName] 是 “Colin”,則結果為 5。

* 好的,所以它不是一個函數,它是一個運算子。 但是,這是將字符串連接在一起的最快方法。 在桌面資料庫中,您也可以使用 & 運算子 (&) 進行串連。

Access 中還有更多與文字相關的功能。 要進一步瞭解它們,一個好方法是開啟「運算式產生器」並瀏覽函數清單。 「運算式產生器」幾乎可以在您想要建立運算式的任何位置使用,通常有一個小的 「建置」 按鈕,如下所示: 按鈕影像

為了示範運算式產生器,讓我們從表單或檢視的 [ 控制項來源 ] 屬性開啟它。 根據您使用的是桌面資料庫還是 Access Web 應用程式,請使用下列其中一個程序。

在桌面資料庫中顯示運算式產生器

  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 函數返回的正確字元數。 乍一看似乎有點複雜,但通過一些實驗,您可以組合兩個或多個表達式以獲得您想要的結果。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。