As funções de cadeia e como utilizá-las

Aplica-se A
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Com as funções de cadeia de texto, pode criar expressões no Access que manipulam o texto de várias formas. Por exemplo, poderá pretender apresentar apenas parte de um número de série num formulário. Em alternativa, poderá ter de associar (concatenar) várias cadeias, como um apelido e um nome próprio. Se ainda não estiver familiarizado com expressões, consulte Criar uma expressão.

Eis uma lista de algumas das operações de cadeia de caracteres mais comuns no Access e as funções que utilizaria para as executar:

Para... Utilize o... Por exemplo... Resultados
Devolver carateres do início de uma cadeia Função Esquerda =Esquerda([NúmeroDeSérie],2) Se [SerialNumber] for "CD234", o resultado é "CD".
Devolver carateres a partir do fim de uma cadeia Função Direita =Direita([NúmeroDeSérie],3) Se [SerialNumber] for "CD234", o resultado é "234".
Localizar a posição de um caráter numa cadeia Função EmCad =EmCad(1,[NomePróprio],"i") Se [NomePróprio] for "Colin", o resultado é 4.
Devolver carateres do meio de uma cadeia Função Meio =SEG.MEIO([Númsérie];2;2) Se [SerialNumber] for "CD234", o resultado será "D2".
Cortar espaços à esquerda ou à direita de uma cadeia Funções SuprEsq, SuprDir e SuprEspaço =Trim([FirstName]) Se [NomePróprio] for " Guilherme ", o resultado é "Adriana".
Juntar duas cadeias Operador de sinal de adição (+)* =[NomePróprio] + [Apelido] Se [NomePróprio] for "Colin" e [Apelido] for Wilcox, o resultado será "ColinWilcox"
Junte duas cadeias com um espaço entre elas Operador de sinal de adição (+)* =[NomePróprio] + " " + [Apelido] Se [NomePróprio] for "Guilherme" e [Apelido] for Guilherme, o resultado será "Guilherme Sarmento"
Alterar as maiúsculas/minúsculas de uma cadeia para maiúsculas ou minúsculas Função Maiúscula ou Função Minúscula =UCase([NomePróprio]) Se [NomePróprio] for "Colin", o resultado é "COLIN".
Determinar o comprimento de uma cadeia Função Compr =Compr([NomePróprio]) Se [NomePróprio] for "Colin", o resultado é 5.

* Ok, então não é uma função, é um operador. No entanto, é a maneira mais rápida de unir cadeias de caracteres. Numa base de dados de ambiente de trabalho, também pode utilizar o operador E comercial (&) para concatentação.

Existem muitas mais funções relacionadas com texto no Access. Uma boa forma de saber mais sobre estas é abrir o Construtor de Expressões e percorrer as listas de funções. O Construtor de Expressões está disponível praticamente onde quiser criar uma expressão. Normalmente, existe um pequeno botão Compilar com este aspeto: Imagem de botão

Para demonstrar o Construtor de Expressões, abra-o a partir da propriedade Origem do Controlo num formulário ou vista. Utilize um dos procedimentos abaixo consoante esteja a utilizar uma base de dados de ambiente de trabalho ou uma aplicação Web do Access.

Apresentar o Construtor de Expressões numa base de dados de ambiente de trabalho

  1. Abra uma base de dados de ambiente de trabalho (.accdb).

  2. Prima F11 para abrir o Painel de Navegação, caso ainda não esteja aberto.

  3. Se já tiver um formulário disponível, clique com o botão direito do rato no mesmo no Painel de Navegação e clique em Vista de Esquema. Se não tiver um formulário para trabalhar, clique em Criar>Formulário.

  4. Clique com o botão direito do rato numa caixa de texto no formulário e clique em Propriedades.

  5. Na Folha de Propriedades, clique em Todas> asFontes de Controle e clique na imagem do botão Construir no lado direito da caixa de propriedade Fonte do Controle.

    Botão Construir na Folha de Propriedades.

  6. Em Elementos de Expressão, expanda o nó Funções e clique em Funções Internas.

  7. Em Categorias de Expressões, clique em Texto.

  8. Em Valores de Expressão, clique nas diversas funções e leia as breves descrições na parte inferior do Construtor de Expressões.

    Nota

    Nem todas estas funções estão disponíveis em todos os contextos; O Access filtra a lista automaticamente, dependendo das que funcionam em cada contexto.

Combinar funções de texto para maior flexibilidade

Algumas funções de cadeia têm argumentos numéricos que, em alguns casos, tem de calcular sempre que chama a função. Por exemplo, a função Esquerda utiliza uma cadeia e um número, como em =Esquerda(NúmeroSérie, 2). Isto é ótimo se sabe que precisa sempre dos dois carateres esquerdos, mas e se o número de carateres necessário variar de item para item? Em vez de apenas "codificar" o número de caracteres, você pode inserir outra função que calcula.

Eis um exemplo de números de série em que cada um tem um hífen algures na cadeia. No entanto, a posição do hífen varia:

Número de Série
3928-29993
23-9923
333-53234
3399940-444

Se pretender apresentar apenas os números à esquerda do hífen, tem de fazer um cálculo de cada vez para saber onde se encontra o hífen. Uma opção é fazer algo assim:

=Esquerda([NúmSérie],EmCad(1,[NúmeroDeSérie],"-")-1)

Em vez de introduzir um número como o segundo argumento da função Esquerda, introduzimos a função EmCad, que devolve a posição do hífen no número de série. Subtraia 1 desse valor e obtém o número correto de carateres para a função Esquerda devolver. Parece um pouco complicado no início, mas com um pouco de experimentação você pode combinar duas ou mais expressões para obter os resultados desejados.