Combinar valores de texto utilizando uma expressão

Quando quiser combinar os valores em dois ou mais campos de texto no Access, pode criar uma expressão que utilize o operador E comercial (&). Por exemplo, imagine que tem um formulário com o nome Funcionários. Introduz os nomes próprios e apelidos dos funcionários em campos separados, mas quer apresentar o nome completo dos funcionários no cabeçalho do formulário.

Para apresentar o nome completo, pode utilizar esta expressão:

= [NomePróprio] & " " & [Apelido]

A expressão irá utilizar o operador & para combinar os valores nos campos NomePróprio e Apelido. A expressão irá ainda utilizar um par de aspas (") separadas por um caráter de espaço para inserir um espaço entre os nomes próprios e os apelidos. Quando quiser inserir algo entre dois campos, como um espaço, um caráter de pontuação ou texto literal, tem de incluir esse valor adicional entre aspas.

Noutro exemplo, pode utilizar a seguinte expressão para apresentar o apelido e o nome próprio separados por uma vírgula e um espaço:

= [Apelido] & ", " & [NomePróprio]

Neste caso, a expressão insere uma vírgula e um espaço entre aspas entre os campos Apelido e NomePróprio.

Os passos no seguinte procedimento pressupõem que tem um formulário baseado numa tabela com campos chamados NomePróprio e Apelido. Caso contrário, poderá alterar a expressão no passo 6 para se adequar aos seus dados.

Adicionar uma caixa de texto com uma expressão para nomes completos

  1. No Painel de Navegação, clique com o botão direito do rato no formulário ou relatório que pretende alterar e, em seguida, clique em Vista Estrutura no menu de atalho.

  2. No separador Estrutura, no grupo Controlos, clique em Caixa de Texto.

  3. Arraste o ponteiro no formulário ou relatório para criar a caixa de texto.

  4. Clique com o botão direito do rato na caixa de texto e, em seguida, clique em Propriedades no menu de atalho.

  5. Na folha de propriedades, clique no separador Dados.

  6. Altere o valor na caixa de propriedades Origem do Controlo para =[NomePróprio] & " " & [Apelido].

  7. Feche a folha de propriedades e guarde as alterações.

Por vezes, um dos campos que pretende combinar poderá não conter um valor. Esta ausência de dados chama-se um valor nulo. Quando utilizar o operador & num campo sem valores, o Access devolve uma cadeia de comprimento zero para esse campo. Por exemplo, se o registo de um funcionário tiver apenas um apelido, a expressão no exemplo anterior devolve uma cadeia de comprimento zero para o campo NomePróprio, um caráter de espaço e o valor no campo Apelido.

Resultado da expressão quando o campo NomePróprio não contém dados

1. Uma vez que não existem dados no campo NomePróprio, "Martins" é precedido por uma cadeia de comprimento zero e um espaço.

Ao combinar valores de múltiplos campos numa nova cadeia, é aconselhável incluir um valor na nova cadeia (por exemplo, uma vírgula) apenas quando existirem dados num campo específico. Para incluir um valor condicionalmente, irá utilizar o operador + em vez do operador & para combinar os seus campos. Por exemplo, imagine que tem uma tabela chamada Cliente e que essa tabela contém campos chamados Localidade, Distrito e Código Postal. Poderá querer combinar valores nesses campos para um relatório, mas alguns registos poderão não ter um valor no campo Distrito. Nesse caso, acabará por ter uma vírgula indesejada antes do valor código postal se utilizar o operador & para combinar os campos.

Para eliminar a vírgula indesejada, pode utilizar o operador de sinal de adição (+) em alternativa, como é apresentado na seguinte expressão de exemplo:

=([Localidade] & (", " + [Distrito]) & " " & [CódigoPostal])

O operador + combina o texto da mesma forma que o operador &. No entanto, o operador + também suporta a Propagação de valores nulos. A propagação de valores nulos garante que, se um componente de uma expressão for nulo, o resultado de toda a expressão é igualmente nulo. No exemplo anterior, considere a parte da expressão (", " + [Distrito]). Uma vez que o operador + é utilizado, a expressão avaliada entre os parênteses internos inclui uma vírgula apenas se existir um valor no campo Distrito. Se não existir um valor no campo Distrito, a propagação de valores nulos entra em vigor e a expressão dentro dos parênteses internos é avaliada como um valor nulo e "oculta" a vírgula.

Exemplo do resultado da expressão quando não é especificado um distrito

1. Os registos que incluem valores para distritos são apresentados com uma vírgula, um espaço e a abreviatura do distrito.

2. Não existe um distrito especificado para o registo com o valor Lisboa no respetivo campo Localidade, por isso o resultado da expressão é apresentado sem a vírgula, espaço ou abreviatura do distrito.

Início da Página

Precisa de mais ajuda?

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×