在 Access 中连接标题和名称字符串
Posted
技术标签:
【中文标题】在 Access 中连接标题和名称字符串【英文标题】:Concatenating Title and Name Strings in Access 【发布时间】:2018-09-28 14:37:58 【问题描述】:我正在尝试将联系人的头衔、名字和姓氏连接到 Access 报告中的一个字符串中。目前我正在使用控件设置为
的文本字段=[ContactTitle] & ' ' & [FirstName] & ' ' & [LastName]
但是,一些联系人没有与之关联的标题,并且我的方法留下了前导空格,这使得我的报告上的文本对齐看起来很草率。所以我想知道,如果联系人标题不为空,有没有办法连接但只包含第一个空格?我知道加号运算符,但经验不足,无法在这种情况下看到一种使用它的方法,而不仅仅是让我的整个字符串为空。
【问题讨论】:
【参考方案1】:您可以使用+
运算符进行连接。
如果您要连接的任何值是Null
,则与+
连接会产生Null
:
=([ContactTitle] + " ") & ([FirstName] + " ") & [LastName]
请注意,一些开发人员不赞成使用+
进行连接,并指出&
是VBA 中的 连接运算符。
另请注意,如果其中一个参数是零长度字符串,这将不起作用。只有真正的 Null 才会导致结果为 Null。
【讨论】:
问题是[ContactTitle]
字段可能为空,而不是其他两个。
@Taazar 没错,我也在检查其他字段以说明如何使用这种连接技术。括号是唯一添加的字符,它与执行时间没有真正的关系。
啊,对了,对不起,我以为你可能误读了这个问题。
这太棒了,我从来不知道你能做到这一点,+1【参考方案2】:
您可以使用IIf()
方法检查标题是否为空,然后根据答案插入或不插入空格。
您还可以使用Nz()
方法同时检查零长度字符串和空字符串,方法是将所有空值设置为零长度字符串,然后将结果与""
进行比较。
我建议您在这里使用的代码是:
=IIf(Nz([ContactTitle],"") = "", "", [ContactTitle] & " ") & [FirstName] & " " & [LastName]
如果您对此有任何问题或需要更好的解释,请发表评论,我会尽快回复您。
【讨论】:
以上是关于在 Access 中连接标题和名称字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Oracle 身份验证中使用 MS Access 连接字符串
SQL语句如何查询ACCESS数据库中某一字符串字段长度等于某个值的所有记录?