Na parte 1 desta série de 3 partes, considerámos um exemplo básico de utilização de critérios numa consulta para tornar a pergunta da consulta mais específica. Isso é óptimo se souberes exactamente o que procuras. Mas e se quiser ver correspondências inexatas, por exemplo, todas as pessoas cujo apelido começa por Th? Está com sorte – o Access tem ferramentas avançadas que pode utilizar nos critérios de consulta para obter correspondências inexatas: carateres universais e o operador LIKE.
Carateres universais
Se já jogou poker, poderá adivinhar o que os carateres universais fazem: podem ser substituídos por outros personagens. Existem dez carateres universais, mas apenas cinco podem ser utilizados em qualquer base de dados. Cinco cumprem um padrão conhecido como ANSI-89 e os outros cinco cumprem a norma ANSI-92; cada base de dados suporta uma ou outra norma, mas não ambas. Pode definir uma opção para especificar a norma ANSI a utilizar.
ANSI-89 carateres
Caráter |
Descrição |
Exemplo |
* |
Corresponde a qualquer número de carateres. Pode utilizar o asterisco em qualquer parte de uma cadeia de carateres. |
wh * localiza o quê, branco, e porquê, mas não um pouco ou assistir. |
? |
Corresponde a qualquer caráter alfabético individual. |
B?ll localiza bola, sino e fatura |
[ ] |
Utilizado com outros carateres (entre parênteses retos). Corresponde a qualquer caráter individual dentro dos parênteses. |
B[ ae ] vai encontrar bola e sino, mas não fatura |
! |
Utilizado entre parênteses retos juntamente com outros carateres. Corresponde a qualquer caráter que não esteja dentro dos parênteses. |
b[! ae ] vai encontrar fatura e touro, mas não bola ou sino |
- |
Utilizado entre parênteses retos juntamente com outros carateres. Corresponde a qualquer caráter de um intervalo de carateres. Tem de especificar o intervalo por ordem ascendente (A a Z e não Z a A). |
b[a-c]d localiza mau, bbd e bcd |
# |
Corresponde a um caráter numérico individual. |
1#3 localiza 103, 113, 123 |
ANSI-92 carateres
Caráter |
Descrição |
Exemplo |
% |
Corresponde a qualquer número de carateres. Pode ser utilizado como o primeiro ou o último caráter na cadeia de carateres. |
wh % localiza o quê, branco, e porquê, mas não um pouco ou assistir. |
_ |
Corresponde a qualquer caráter alfabético individual. |
B_ll encontra bola, sino e fatura |
[ ] |
Utilizado juntamente com outros carateres. Corresponde a qualquer caráter individual dentro dos parênteses. |
B[ ae ] vai encontrar bola e sino, mas não fatura |
^ |
Utilizado entre parênteses retos juntamente com outros carateres. Corresponde a qualquer caráter que não esteja dentro dos parênteses. |
b[^ ae ] ll finds bill and bull but not ball or bell |
- |
Utilizado entre parênteses retos juntamente com outros carateres. Corresponde a qualquer caráter de um intervalo de carateres. Tem de especificar o intervalo por ordem ascendente (A a Z e não Z a A). |
b[a-c]d localiza mau, bbd |
O operador LIKE
O Access requer a palavra "Gosto" em qualquer critério que utilize carateres universais. Utilize o operador LIKE imediatamente antes da cadeia que contém os carateres universais. O Access também precisa da cadeia entre aspas. Por exemplo, para corresponder aos dados de texto que contêm a letra T , utilizaria esta expressão:
LIKE "*t*"
Em versões recentes, o Access adiciona o operador LIKE e as aspas se as omitir. Por isso, se utilizar a expressão *t* O Access altera-a para Gosto "*t*" quando executa a consulta ou move o cursor para fora do critério.
Veja LIKE e carateres universais em ação
Se quiser ver um vídeo a demonstrar a utilização destas ferramentas, experimente este vídeo do YouTube em Gostos e carateres universais nos critérios de consulta do Access.
Em seguida, na parte 3 desta série de 3 partes: Pedir entrada através de um parâmetro.