Объединение строк заголовка и имени в Access - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь объединить заголовок, имя и фамилию контакта в одну строку в отчете Access.В настоящее время я использую текстовое поле с элементом управления, установленным на

=[ContactTitle] & ' ' & [FirstName] & ' ' & [LastName]

Однако некоторые контакты не имеют связанного с ними заголовка, и мой метод оставляет пробел, который позволяет выровнять текст в моем отчете.неаккуратно.Поэтому мне интересно, есть ли способ объединить, но включить этот первый пробел, только если заголовок контакта не нулевой?Я знаю об операторе плюса, но недостаточно опытен, чтобы найти способ использовать его в этом случае, не делая всю строку пустой.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Вы можете использовать метод IIf(), чтобы проверить, является ли заголовок пустым, а затем в зависимости от вставки ответа или не вставлять пробел.

Вы также можете использовать метод Nz(), чтобы проверитьдля строк нулевой длины одновременно с нулевыми строками, задав для всех нулевых значений строку нулевой длины, а затем сравнив результат с "".

Код, который я бы порекомендовал использовать здесь:

=IIf(Nz([ContactTitle],"") = "", "", [ContactTitle] & " ") & [FirstName] & " " & [LastName]

Если у вас возникли проблемы с этим или вам нужно более подробное объяснение, оставьте комментарий, и я перезвоню вам.

0 голосов
/ 28 сентября 2018

Вы можете использовать оператор + для конкатенации.

Конкатенация с + дает Null, если любое из значений, которые вы объединяете, Null:

=([ContactTitle] + " ") & ([FirstName] + " ") & [LastName]

Обратите внимание, что некоторые разработчики недовольны использованием + для конкатенации, заявив, что & является оператором конкатенации в VBA.

Также обратите внимание, что если один из параметров являетсяСтрока нулевой длины, это не сработает.Только настоящий Null приведет к результату Null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...