As funções de cadeia e como utilizá-las
Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Eis uma lista de algumas das operações de cadeia 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([SerialNumber],2)

Se [SerialNumber] for "CD234", o resultado será "CD".

Devolver carateres do fim de uma cadeia

Função direita

=Direita([SerialNumber],3)

Se [SerialNumber] for "CD234", o resultado será "234".

Localizar a posição de um caráter numa cadeia

Função InStr

=InStr(1;[NomePróprio],"i")

Se [FirstName] for "Colin", o resultado é 4.

Devolver carateres a partir do meio de uma cadeia

Função Média

=Média([Numeração De Série];2;2)

Se [SerialNumber] for "CD234", o resultado será "D2".

Cortar espaços à esquerda ou à direita de uma cadeia

Funções LTrim, RTrim e Trim

=Cortar([NomePróprio])

Se [FirstName] for " Colin", o resultado é "Colin".

Unir duas cadeias

Operador de sinal de adição (+) *

=[NomePróprio] + [Apelido]

Se [FirstName] é "Colin" e [LastName] é Wilcox, o resultado é "ColinWilcox"

Associar duas cadeias juntamente com um espaço entre as mesmas

Operador de sinal de adição (+) *

=[FirstName] + " " + [LastName]

Se [FirstName] é "Colin" e [LastName] é Wilcox, o resultado é "Colin Wilcox"

Alterar o caso de uma cadeia para maiúscula ou minúscula

Função UCase ou função LCase

=UCase([FirstName])

Se [FirstName] for "Colin", o resultado é "COLIN".

Determinar o comprimento de uma cadeia

Função Len

=Len([NomePróprio])

Se [FirstName] for "Colin", o resultado é 5.

Ok, então não é uma função, é um operador. No entanto, é a forma mais rápida de associar cadeias. Numa base de dados de ambiente de trabalho, também pode utilizar o operador de e comercial (&) para a concatenação.

Existem muitas mais funções relacionadas com texto no Access. Uma boa forma de saber mais sobre os mesmos é abrir o Construtor de Expressões e navegar pelas listas de funções. O Construtor de Expressões está disponível em praticamente qualquer lugar onde pretenda criar uma expressão. Normalmente, existe um pequeno botão Criar com o seguinte aspeto: Imagem de botão

Para demonstrar o Construtor de Expressões, vamos abri-lo 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, se ainda não estiver aberto.

  3. Se já tiver um formulário disponível, clique com o botão direito do rato no Painel de Navegação e clique em Vista de Esquema. Se não tiver um formulário com o qual 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 as > Origem do Controlo e clique no botão Criar Imagem de botão no lado direito da caixa de propriedade Origem do Controlo .Botão Construir na Folha de Propriedades.

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

  7. Em Categorias de Expressão, clique em Texto.

  8. Em Valores de Expressão, clique nas várias 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 automaticamente a lista consoante as 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 chamar a função. Por exemplo, a função Esquerda utiliza uma cadeia e um número, como em =Left(SerialNumber, 2). Isto é ótimo se souber que precisa sempre dos dois carateres esquerdos, mas e se o número de carateres de que precisa varia de item para item? Em vez de apenas "codificar" o número de carateres, pode introduzir outra função que a calcule.

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

SerialNumber

3928-29993

23-9923

333-53234

3399940-444

Se apenas quiser apresentar os números à esquerda do hífen, tem de efetuar um cálculo sempre para saber onde está o hífen. Uma opção é fazer algo assim:

=Esquerda([SerialNumber],InStr(1,[SerialNumber],"-")-1)

Em vez de introduzir um número como o segundo argumento da função Esquerda, ligámos a função InStr, 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 uma pequena experimentação pode combinar duas ou mais expressões para obter os resultados que pretende.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.