字符串函数以及如何使用它们

使用字符串函数,可以在 Access 中创建以各种方式操作文本的表达式。 例如,您可能希望在窗体上仅显示部分序列号。 或者,您可能需要将几个字符串联接(连接)在一起,如姓氏和名字。 如果您尚未了解表达式,请参阅构建表达式

下面列出了 Access 中一些更常见的字符串操作,以及用于执行这些操作的函数:

若要...

使用...

例如...

结果

从字符串的开头返回字符

Left 函数https://msdn.microsoft.com/en-us/library/gg251556.aspx

=Left([SerialNumber],2)

如果 [SerialNumber] 为“CD234”,则结果为“CD”。

从字符串的结尾返回字符

Right 函数https://msdn.microsoft.com/en-us/library/gg278801.aspx

=Right([SerialNumber],3)

如果 [SerialNumber] 为“CD234”,则结果为“234”。

查找字符串中某个字符的位置

InStr 函数

=InStr(1,[FirstName],"i")

如果 [FirstName] 为“Colin”,则结果为 4。

从字符串的中间返回字符

Mid 函数

=Mid([SerialNumber],2,2)

如果 [SerialNumber] 为“CD234”,则结果为“D2”。

字符串中的 Trim 前导或尾随空格

LTrim、RTrim 和 Trim 函数

=Trim([FirstName])

如果 [FirstName] 为“ Colin ”,则结果为“Colin”。

将两个字符串联接在一起

加号 (+) 运算符*

=[FirstName] + [LastName]

如果 [FirstName] 为“Colin”,[LastName] 为 Wilcox,则结果为“ColinWilcox”

将两个字符串联接在一起,中间加一个空格

加号 (+) 运算符*

=[FirstName] + “ “ + [LastName]

如果 [FirstName] 为“Colin”,[LastName] 为 Wilcox,则结果为“Colin Wilcox”

将字符串的大小写更改为大写或小写

UCase 函数LCase 函数

=UCase([FirstName])

如果 [FirstName] 为“Colin”,则结果为“COLIN”。

确定一个字符串的长度

Len 函数

=Len([FirstName])

如果 [FirstName] 为“Colin”,则结果为 5。

* 它不是函数,而是运算符。 但是,它是将字符串联接在一起的最快方式。 在桌面数据库中,也可以使用与运算符 (&) 进行连接。 在 Access 应用程序中,必须使用加号 (+)。

在 Access 中有更多与文本相关的函数。 详细了解这些函数的一种好方法是打开表达式生成器并浏览函数列表。 在您要构建表达式的任何位置几乎都可以使用表达式生成器,通常有一个小的“构建”按钮,外观如下所示: 按钮图像

为了演示表达式生成器,我们将从窗体或视图上的“控件来源”属性中打开它。 根据使用的是桌面数据库还是 Access Web 应用,使用以下过程之一。

在桌面数据库中显示表达式生成器

  1. 打开桌面数据库 (.accdb)。

  2. 按 F11 打开导航窗格(如果尚未打开)。

  3. 如果您已有可用的窗体,请在导航窗格中右键单击,然后单击“布局视图”。 如果您没有可用的窗体,请单击“创建”>“窗体”。

  4. 右键单击窗体上的文本框,然后单击“属性”。

  5. 在属性表中,单击“全部”>“控件来源”,然后单击“控件来源”属性框右侧的“构建”按钮 按钮图像

    属性表中的“生成”按钮。

  6. 在“表达式元素”下,展开“函数”节点并单击“内置函数”。

  7. 在“表达式类别”下,单击“文本”。

  8. 在“表达式值”下,单击各种函数并阅读表达式生成器底部的简短说明。

    注意:  并非所有这些函数均适用于所有上下文;Access 会自动根据适用于各种上下文的函数自动筛选列表。

在 Access Web 应用中显示表达式生成器

  1. 在 Access 中打开 Web 应用。 如果您正在浏览器中查看该应用程序,请单击“设置”>“在 Access 中自定义”。

  2. 在左列中单击表,然后指向表列表的右侧,单击视图名称。

    选择 Access 中的视图。

  3. 依次单击“编辑”和文本框,然后单击文本框旁边出现的“数据”按钮。

    文本框控件旁边的“数据”按钮。

  4. 单击“控件来源”下拉列表右侧的“构建”按钮 按钮图像

  5. 在“表达式元素”下,展开“函数”节点并单击“内置函数”。

  6. 在“表达式类别”下,单击“文本”。

  7. 在“表达式值”下,单击各种函数并阅读表达式生成器底部的简短说明。

合并文本函数以获得更大的灵活性

某些字符串函数具有数字参数,在某些情况下,每次调用函数时都需要计算。 例如,Left 函数具有一个字符串和一个数字,如 =Left(SerialNumber, 2) 中所示。 如果您知道您总是需要左侧的两个字符,则没有问题,但如果您所需的字符数因数据项而异,该怎么办? 这时您可以输入另一个函数来计算字符数,而不是只对字符数进行“硬编码”。

下面是有关序列号的示例,每个序列号在字符串中的某个位置都有连字符。 但是,连字符的位置有所不同:

SerialNumber

3928-29993

23-9923

333-53234

3399940-444

如果您只想显示连字符左侧的数字,则每次都需要进行计算以找出连字符的位置。 可选择如下执行操作:

=Left([SerialNumber],InStr(1,[SerialNumber],"-")-1)

我们插入了 InStr函数,该函数返回连字符在序列号中的位置,而不是输入数字作为 Left 函数的第二个参数。 该值减去 1,即得到 Left 函数要返回的正确字符数。 起初似乎有些复杂,但有了一些经验后,您可以合并两个或更多个表达式来获得所需结果。

有关使用字符串函数的详细信息,请参阅在 Access SQL 查询中使用字符串函数

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×