Com funções de cadeia de caracteres, você pode criar expressões no Access que manipulam texto de várias maneiras. Por exemplo, talvez você queira exibir apenas parte de um número de série em um formulário. Ou precise juntar (concatenar) diversas cadeias de caracteres, como um sobrenome e um nome. Se você ainda não tem muita experiência com expressões, consulte Criar uma expressão.
Aqui está uma listagem de algumas das operações de cadeia de caracteres mais comuns no Access e as funções que você usaria para executá-las:
Para… |
Use… |
Por exemplo… |
Resultados |
---|---|---|---|
Retornar caracteres do começo de uma cadeia |
=Left([NúmeroSérie],2) |
Se [NúmeroSérie] é “CD234”, o resultado é “CD”. |
|
Retornar caracteres do final de uma cadeia |
=Right([NúmeroSérie],3) |
Se [NúmeroSérie] é “CD234”, o resultado é “234”. |
|
Localizar a posição de um caractere em uma cadeia |
=InStr(1,[Nome],"o") |
Se [Nome] é “Carlos”, o resultado é 5. |
|
Retornar caracteres do meio de uma cadeia |
=Mid([NúmeroSérie],2,2) |
Se [NúmeroSérie] é “CD234”, o resultado é “D2”. |
|
Cortar espaços à direita ou à esquerda de uma cadeia de caracteres |
=Trim([Nome]) |
Se [Nome] é “ Colin ”, o resultado é “Colin”. |
|
Juntar duas cadeias de caracteres |
Operador de sinal de adição (+)* |
=[Nome] + [Sobrenome] |
Se [Nome] é “Carlos” e [Sobrenome] é Lacerda, o resultado é “CarlosLacerda” |
Juntar duas cadeias de caracteres com um espaço entre elas |
Operador de sinal de adição (+)* |
=[Nome] + “ “ + [Sobrenome] |
Se [Nome] é “Carlos” e [Sobrenome] é Lacerda, o resultado é “Carlos Lacerda” |
Alterar as letras de uma cadeia de caracteres para maiúsculas ou minúsculas |
=UCase([Nome]) |
Se [Nome] é “Carlos”, o resultado é “CARLOS”. |
|
Determinar o comprimento de uma cadeia de caracteres |
=Len([Nome]) |
Se [Nome] é “Carlos”, o resultado é 6. |
* OK, não é uma função, é um operador. Porém, é a maneira mais rápida de juntar cadeias de caracteres. Em um banco de dados da área de trabalho, você também pode usar o operador e comercial (&) para concatenação.
Há muitas outras funções relacionadas ao texto no Access. Uma boa maneira de saber mais sobre eles é 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 que você queira criar uma expressão , geralmente há um pequeno botão Build que se parece com este:
Para demonstrar o Construtor de Expressões, vamos abri-lo da propriedade Fonte do Controle de um formulário ou exibição. Use um dos procedimentos abaixo, dependendo se você estiver usando um banco de dados da área de trabalho ou um aplicativo Web access.
Exibir o Construtor de Expressões em um banco de dados da área de trabalho
-
Abra um banco de dados da área de trabalho (.accdb).
-
Pressione F11 para abrir o Painel de Navegação, se ainda não estiver aberto.
-
Se já tiver um formulário disponível, clique com o botão direito do mouse nele no Painel de Navegação e clique em Modo Layout. Se não tiver um formulário para trabalhar, clique em Construir > Formulário.
-
Clique com o botão direito do mouse em uma caixa de texto no formulário e clique em Propriedades.
-
Na Folha de Propriedades, clique em Todas as > Fonte de Controle e clique no botão Criar no lado direito da caixa de propriedade Fonte de Controle .
-
Em Elementos de Expressão, expanda o nó Funções e clique em Funções internas.
-
Em Categorias de Expressão, clique em Texto.
-
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.
Observação: Nem todas essas funções estão disponíveis em todos os contextos; o Access filtra a lista automaticamente, dependendo de quais funcionam em cada contexto.
Combinar funções de texto para mais flexibilidade
Algumas funções de cadeia de caracteres têm argumentos numéricos que, em alguns casos, você precisa calcular toda vez que chama a função. Por exemplo, a função Left pega uma cadeia de caracteres e um número, como em =Left(NúmeroSérie, 2). Isso é ótimo se você sabe que sempre precisa dos dois caracteres da esquerda, mas e se o número de caracteres de que você precisa varia de um item para outro? Em vez de apenas "embutir" o número dos caracteres, você pode inserir outra função que o calcule.
Aqui está um exemplo de números de série que têm um hífen em algum ponto da cadeia de caracteres. Entretanto, a posição do hífen varia:
NúmeroSérie |
---|
3928 -29993 |
23 -9923 |
333 -53234 |
3399940 -444 |
Se você quer apenas exibir os números à esquerda do hífen, precisa fazer um cálculo toda vez para descobrir onde o hífen está. Uma opção é fazer algo assim:
=Left([NúmeroSérie],InStr(1,[NúmeroSérie],"-")-1)
Em vez de inserir um número como o segundo argumento da função Esquerda, conectamos a função InStr, que retorna a posição do hífen no número de série. Subtraia 1 desse valor e você obtém o número correto de caracteres para a função Left retornar. Parece um pouco complicado a princípio, mas com um pouco de prática, você pode combinar duas ou mais expressões para obter os resultados desejados.