使用表达式合并文本值

若要在 Access 中合并两个或多个文本字段中的值,请创建使用与号 (&) 运算符的表达式。例如,假设你拥有名为“员工”的窗体。你在单独字段中输入每个员工的姓氏和名字,但想要在窗体页眉中显示员工的完整姓名。

若要显示完整姓名,可使用此表达式:

=[FirstName] & " " & [LastName]

该表达式使用 & 运算符来合并“FirstName”和“LastName”字段中的值。此外,该表达式还使用一对由一个空格字符隔开的双引号 (") 在名字和姓氏之间插入一个空格。若要在两个字段之间插入一些内容(如空格、标点字符或文字类型的文本)时,必须使用引号将该附加值引起来。

又例如,可以使用以下表达式来显示姓氏和名字,由逗号和空格隔开:

=[LastName] & ", " & [FirstName]

在此情况下,该表达式在“LastName”和“FirstName”字段之间插入了用引号引起来的逗号和空格。

以下过程中的步骤假定你拥有基于包含名为“FirstName”和“LastName”字段的表的窗体。否则,你可在步骤 6 中更改表达式以符合你自己的数据。

使用表达式为完整名称添加文本框

  1. 在导航窗格中,右键单击要更改的窗体或报表,然后单击快捷菜单上的“设计视图”。

  2. 在“设计”选项卡上的“控件”组中,单击“文本框”。

  3. 在窗体或报表上拖动指针,创建文本框。

  4. 右键单击文本框,然后单击快捷菜单上的“属性”。

  5. 在属性表中,单击“数据”选项卡。

  6. 将“控件来源”属性框中的值更改为 =[FirstName] & " " & [LastName]

  7. 关闭属性表并保存所做更改。

有时,想要合并的字段之一可能不包含值。此缺失的数据称为 null 值。将 & 运算符用于不包含值的字段时,Access 将为该字段返回 零长度字符串。例如,如果某位员工记录仅具有姓氏,则以上示例中的表达式将为“FirstName”字段、空格字符和“LastName”字段中的值返回零长度字符串。

当“名字”字段不含数据时的表达式结果

1.由于“FirstName”字段中没有任何数据,因此“Martinez”的前面为零长度字符串和空格。

将多个字段中的值合并为一个新字符串时,可能需要在仅当数据存在于特定字段中时,将一个值(如逗号)添加在新字符串中。若要有条件地添加值,请使用 + 运算符而非 & 运算符来合并字段。例如,假设你拥有一个名为“客户”的表,该表包含名为“市/县”、“省/自治区/直辖市”和“邮政编码”的字段。你想在报表中合并这些字段中的值,但“省/自治区/直辖市”字段中的一些记录可能不包含值。在这种情况下,如果使用 & 运算符来合并字段,最终会在邮政编码值前显示不需要的逗号。

若要去除不需要的逗号,可改为使用加号 (+) 运算符,如以下示例表达式中所示:

=([City] & (", " + [State]) & " " & [PostalCode])

+ 运算符合并文本的方式与 & 运算符相同。但是,+ 运算符还支持 Null 传播。Null 传播可确保如果表达式的任何组件为 null,则整个表达式的结果也为 null。在以上示例中,请考虑表达式的以下部分:(", " + [State])。由于已使用 + 运算符,因此仅当“省/自治区/直辖市”字段中存在值时,在内部括号中进行求值的表达式才会包含逗号。如果“省/自治区/直辖市”字段中不存在值,Null 传播将生效,且内部括号中的表达式的求值结果为 null 值,从而“隐藏”逗号。

未指定省/市/自治区时的表达式结果示例

1.包含“省/自治区/直辖市”的值的记录显示为一个逗号、一个空格和“省/自治区/直辖市”缩写形式。

2.由于其“市/县”字段中具有值“休斯顿”的记录中未指定“省/自治区/直辖市”,因此该表达式的结果不包含逗号、空格或“省/自治区/直辖市”缩写形式。

页面顶端

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×