Exemplos de critérios de consulta

Um critério de consulta é uma regra que identifica os registros que você deseja incluir no resultado da consulta. Nem todas as consultas devem incluir critérios, mas se não estiver interessado em visualizar todos os registros armazenados na fonte do registro base, será necessário adicionar critérios a uma consulta ao planejá-la.

Este tópico lista vários exemplos de critérios de consultas, partindo do princípio de que você esteja familiarizado com o planejamento de consultas de seleção simples.

Para saber mais sobre como criar consultas de seleção, consulte o artigo Criar uma consulta de seleção simples.

Neste tópico


Introdução aos critérios de consulta

Um critério é semelhante a uma fórmula — é uma cadeia de caracteres que pode consistir em referências de campo, operadores (operador: um sinal ou símbolo que especifica o tipo de cálculo a ser executado dentro de uma expressão. Existem operadores matemáticos, de comparação, lógicos e de referência.) e constantes (constante: um valor que não é calculado, e que portanto não é alterado. Por exemplo, o número 210 e o texto "Ganhos do trimestre" são constantes. Uma expressão ou um valor resultante de uma expressão não é uma constante.). Os critérios de consulta também são denominados de expressões no Microsoft Office Access 2007.

As tabelas a seguir mostram alguns exemplos de critérios e explicam como eles funcionam.

Critérios Descrição
>25 e <50 Esse critério é aplicado a um campo Número, como Preço ou UnidadesEmEstoque. Inclui apenas os registros, nos quais o campo Preço ou UnidadesEmEstoque contêm um valor maior do que 25 e menor do que 50.
DifData ("aaaa", [DataDeNascimento], Data()) > 30 Esse critério é aplicado a um campo Data/Hora, como DataDeNascimento. Apenas registros nos quais o número de anos entre a data de nascimento de uma pessoa e a data atual for maior do que 30 são incluídos no resultado da consulta.
É Nulo Esse critério pode ser aplicado a qualquer tipo de campo para mostrar registros nos quaiso valor do campo seja nulo.

Como você pode observar, os critérios podem parecer muito diferentes entre si, dependendo do tipo de dados do campo ao qual eles são aplicados e os requisitos específicos do usuário. Alguns critérios são simples e utilizam constantes e operadores básicos. Outros são complexos e utilizam funções, operadores especiais e incluem referências de campos.

Este tópico lista vários critérios freqüentemente usados por tipo de dados. Se os exemplos fornecidos neste tópico não se aplicam às suas necessidades específicas, poderá ser necessário gravar seus próprios critérios. Para fazer isso, você deve primeiro se familiarizar com a lista completa de funções, operadores, caracteres especiais e a sintaxe para expressões que se refiram a campos e literais. Para obter mais informações, consulte os artigos listados na seção Consulte também.

Aqui, você aprenderá onde e como adicionar critérios. Para adicionar critérios a uma consulta, é necessário abrir a consulta no modo Design. Em seguida, identifique os campos para os quais deseja especificar critérios. Se o campo ainda não estiver na grade de design, adicione-o, arrastando-o da janela de design da consulta para a grade do campo, ou clicando duas vezes no campo (Ao clicar duas vezes no campo, você automaticamente o adiciona à próxima coluna vazia na grade do campo). Finalmente, digite os critérios na linha Critérios

Os critérios especificados para campos diferentes na linha Critérios são combinados usando o operador E. Em outras palavras, os critérios especificados nos campos Cidade e DataDeNascimento são interpretados da seguinte maneira:

Cidade = "Curitiba" E DataDeNascimento < SomData("aaaa", -40, Data())


Critérios para Cidade e DataDeNascimento

Texto explicativo 1 Os campos Cidade e DataDeNascimento incluem critérios.
Texto explicativo 2 Apenas os registros em que o valor do campo Cidade for Curitiba irá satisfazer este critério.
Texto explicativo 3 Apenas os registros para quem tem pelo menos 40 anos de idade irá satisfazer este critério.
Texto explicativo 4 Apenas os registros que atendam aos dois critérios serão incluídos no resultado.

E se você quiser que apenas uma dessas condições seja atendida? Ou seja, se você tiver critérios alternativos, como eles serão inseridos?

Caso tenha critérios alternativos, ou dois conjuntos independentes de critérios, em que é suficiente satisfazer um dos conjuntos, use as linhas Critérios e ou na grade de design.


Critérios alternativos

Texto explicativo 1 O critério Cidade está especificado na linha Critérios.
Texto explicativo 2 O critério DataDeNascimento está especificado na linha ou.

Os critérios especificados nas linhas Critérios e ou são combinados usando o operador OU, conforme mostrado abaixo:

Cidade = "Curitiba" OU DataDeNascimento < SomData("aaaa", -40, Data())

Se for necessário especificar mais alternativas, use as linhas abaixo da linha ou.

Antes de continuar examinando os exemplos, observe o seguinte:

  • Se os critérios são temporários ou são alterados com freqüência, você pode filtrar o resultado da consulta, em vez de modificar freqüentemente os critérios da consulta. Um filtro é um critério temporário que altera o resultado da consulta, sem mudar o design da consulta. Para obter mais informações sobre filtros, consulte o artigo Filtro: limite o número de registros em um modo de exibição.
  • Se os campos de critérios não forem alterados, mas os valores que o interessam forem alterados com freqüência, crie uma consulta parâmetro. A consulta parâmetro solicita ao usuário os valores de campos e, em seguida, usa esses valores para criar os critérios da consulta. Para obter mais informações sobre consultas de parâmetros, consulte o artigo Usar parâmetros em consultas e relatórios.

Critérios para campos Texto, Memorando e Hiperlink

Os exemplos a seguir são para o campo PaísRegião, que é baseado em uma tabela que armazena informações dos contatos. O critério é especificado na linha Critérios do campo na grade de design.

Critérios PaísRegião

Um critério que você especificar para um campo Hiperlink será, por padrão, aplicado à parte de exibição de texto do valor de campo. Para especificar os critérios para a parte da URL (Uniform Resource Locator) de destino do valor, use a expressão HyperlinkPart. A sintaxe dessa expressão é a seguinte: HyperlinkPart([Tabela1].[Campo1],1) = "http://www.microsoft.com/", onde Tabela1 é o nome da tabela que contém o campo hiperlink, Campo1 é o campo hiperlink e http://www.microsoft.com é a URL que você quer corresponder.

Para incluir registros que... Use este critério Resultado da consulta
Correspondem totalmente a um valor, como China "China" Retorna registros nos quais o campo PaísRegião está definido como China.
Não correspondem a um valor, como México Não "México" Retorna registros nos quais o campo PaísRegião está definido como um país/uma região diferente de México.
Iniciam com a seqüência especificada, como R Como R*

Retorna registros para todos os nomes de países/regiões que iniciam com "R", como Reino Unido, Rússia, etc.

 Observação   Quando utilizado em uma expressão, o asterisco (*) representa qualquer seqüência de caracteres — também é chamado de caractere curinga. Para obter uma lista desses caracteres, consulte o artigo Referência do caractere curinga do Access.

Não iniciam com a seqüência especificada, como R Não Como R* Retorna registros para todos nomes de países/regiões com um caractere diferente de "R".
Contêm a seqüência especificada, como Coréia Como "*Coréia*" Retorna registros para todos os nomes de países/regiões que contêm a seqüência "Coréia".
Não contêm a seqüência especificada, como Coréia Não Como "*Coréia*" Retorna registros para todos os países/regiões que não contêm a seqüência "Coréia".
Terminam com a seqüência especificadam, como "ina" Como "*ina" Retorna registros para todos os nomes de países/regiões que terminam em "ina", como China e Argentina.
Não terminam com a seqüência especificada, como "ina" Não Como "*ina" Retorna registros para todos os nomes de países/regiões que não terminam em "ina", como China e Argentina.
Contêm valores nulos (ou ausentes) É Nulo Retorna registros nos quais não há valores no campo.
Não contêm valores nulos É Negado Nulo Retorna registros nos quais o valor não está ausente no campo.
Contêm seqüências de comprimento zero "" (um par de aspas) Retorna registros nos quais o campo é definido como um valor em branco (mas não nulo). Por exemplo, registros de vendas realizadas para outro departamento podem conter um valor em branco no campo PaísRegião.
Não contêm seqüências de comprimento zero Não "" Retorna registros nos quais o campo PaísRegião possui um valor não vazio.
Contém valores nulos ou seqüências de comprimento zero "" Ou É Nulo Retorna registros onde não há valor no campo ou o campo está definido como um valor em branco.
Não está vazio ou em branco É Negado Nulo e Não "" Retorna registros nos quais o campo PaísRegião tem um valor não vazio, não nulo.
Seguem um valor, como México, quando são classificados em ordem alfabética >= "México" Retorna registros de todos os países/as regiões, iniciando com México e continuando até o fim do alfabeto.
Estão dentro de um intervalo específico, como de A a D Como "[A-D]*" Retorna registros para nomes de países/regiões que iniciam com as letras de "A" a "D".
Correspondam a um de dois valores, como EUA ou Reino Unido "EUA" Ou "Reino Unido" Retorna registros para EUA e Reino Unido.
Contêm um dos valores em uma lista de valores Em("França", "China", "Alemanha", "Japão") Retorna registros para todos os países/regiões especificados na lista.
Contêm determinados caracteres em uma posição específica no valor do campo Direita([PaísRegião], 1) = "a" Retorna registros para todos os nomes de países/regiões nos quais a última letra seja "a".
Satisfaçam requisitos de comprimento Compr([PaísRegião]) > 10 Retorna registros para nomes de países/regiões que têm mais de 10 caracteres de comprimento.
Correspondam a um padrão específico Como "Chi??"

Retorna registros para nomes de países/regiões, como China e Chile, que têm cinco caracteres de comprimento e os primeiros três caracteres são "Chi".

 Observação   Os caracteres ? e _, quando usados em uma expressão, representam um caractere único — são também chamados de caracteres curinga. O caractere _ não pode ser usado na mesma expressão que o caractere ?, nem pode ser usado em uma expressão com o caractere curinga *. Você pode usar o caractere curinga _ em uma expressão que também contenha o caractere curinga %.

Critérios para campos Número, Moeda e AutoNumeração

Os exemplos a seguir são para o campo PreçoUnitário, em uma consulta baseada em uma tabela que armazena informações sobre produtos. O critério é especificado na linha Critérios do campo, na grade de design da consulta.

Critérios PreçoUnitário

Para incluir registros que... Use este critério Resultado da consulta
Corresponda totalmente a um valor, como 100 100 Retorna registros nos quais o preço unitário do produto é R$ 100,00.
Não correspondam a um valor, como 1000 Não 1000 Retorna registros nos quais o preço unitário do produto não é R$ 1.000,00.
Contêm um valor menor do que um outro valor, como 100 < 100
<= 100
Retorna registros nos quais o preço unitário é menor do que R$ 100,00 (<100). A segunda expressão (<=100) exibe registros nos quais o preço unitário é menor do que ou igual a R$ 100,00.
Contêm um valor maior do que outro valor, como 99,99 >99,99
>=99,99
Retorna registros nos quais o preço unitário é maior do que R$ 99,99 (>99,99). A segunda expressão exibe registros nos quais o preço unitário é maior do que ou igual a R$ 99,99.
Contêm um de dois valores, como 20 ou 25 20 ou 25 Retorna registros nos quais o preço unitário é R$ 20,00 ou R$ 25,00.
Contêm um valor que está em um intervalo de valores >49,99 e <99,99
-ou-
Entre 50 e 100
Retorna registros nos quais o preço unitário está entre (mas não incluindo) R$ 49,99 e R$ 99,99.
Contêm um valor que está fora de um intervalo <50 ou >100 Retorna registros nos quais o preço unitário não está entre R$ 50,00 e R$ 100,00.
Contêm um de muitos valores especificados Em(20, 25, 30) Retorna registros nos quais o preço unitário é R$ 20,00, R$ 25,00 ou R$ 30,00.
Contêm um valor que termina com os dígitos específicados Como "*4,99"

Retorna registros nos quais o preço unitário termina com "4,99", como R$ 4,99, R$ 14,99, R$ 24,99, etc.

 Observação   Os caracteres * e %, quando usados em uma expressão, representam qualquer número de caracteres — são também chamados de caracteres curinga. O caractere % não pode ser usado na mesma expressão que o caractere *, nem pode ser usado em uma expressão com o caractere curinga ?. Você pode usar o caractere curinga % em uma expressão que também contenha o caractere curinga _.

Contêm valores nulos (ou ausentes) É Nulo Retornam registros nos quais nenhum valor é inserido no campo PreçoUnitário.
Contêm valores não nulos É Negado Nulo Retorna registros nos quais o valor não está ausente no campo PreçoUnitário.

Critérios para campos Data/Hora

Os exemplos a seguir são para o campo DataDoPedido, em um consulta com base em uma tabela que armazena informações sobre pedidos. O critério especificado na linha Critérios do campo, na grade de design da consulta.

Critérios DataDoPedido

Para incluir registros que ... Use este critério Resultado da consulta
Correspondem totalmente a um valor, como 2/2/2006 #02.02.06# Retorna registros de transações que ocorreram em 2 de fevereiro de 2006. Lembre-se de incluir os valores de data entre os caracteres # para que o Access possa distinguir entre valores de data e seqüências de texto.
Não correspondem a um valor, como 2/2/2006 Não #2/2/2006# Retorna registros de transações que ocorreram em um dia diferente de 3 de fevereiro de 2006.
Contêm valores que estão antes de um determinado valor, como 2/2/2006 < #2/2/2006#

Retorna registros de transações que ocorreram antes de 2 de fevereiro de 2006.

Para visualizar transações que ocorreram nessa data ou antes dessa data, use o operador <=, em vez do operador < .

Contêm valores que estão depois de uma determinada data, como 2/2/2006 > #2/2/2006#

Retorna registros de transações que ocorreram depois de 2 de fevereiro de 2006.

Para visualizar transações que ocorreram nessa data ou depois dessa data, use o operador >=, em vez do operador >.

Contêm valores que estão em um intervalo de datas >#2/2/2006# e <#2/4/2006#

Retorna registros nos quais as transações ocorreram entre 2 de fevereiro de 2006 e 4 de fevereiro de 2006.

Você também pode usar o operador Entre para filtrar um intervalo de valores. Por exemplo, Entre #2/2/2006# e #2/4/2006# é o mesmo que >#2/2/2006# e <#2/4/2006# .

Contêm valores que estão fora de um intervalo <#2/2/2006# ou >#2/4/2006# Retorna registros nos quais as transações ocorreram antes de 2 de fevereiro de 2006 ou depois de 4 de fevereiro de 2006.
Contêm um de dois valores, como 2/2/2006 ou 2/3/2006 #2/2/2006# ou #2/3/2006# Retorna registros de transações que ocorreram em 2 de fevereiro de 2006 ou 3 de fevereiro de 2006.
Contêm um de muitos valores Em (#2/1/2006#, #3/1/2006#, #4/1/2006#) Retorna registros nos quais as transações ocorreram em 1 de fevereiro de 2006, 1 de março de 2006 ou 1 de abril de 2006.
Contêm uma data que está em um mês específico (independente do ano), como dezembro PartData("m", [DataDaVenda]) = 12 Retorna registros nos quais as transações ocorreram em dezembro de algum ano.
Contêm uma data que está em um trimestre específico (independente do ano), como o primeiro trimestre PartData("t", [DataDaVenda]) = 1 Retorna registros nos quais as transações ocorreram no primeiro trimestre de qualquer ano.
Contêm a data de hoje Data( ) Retorna registros de transações que ocorreram no dia atual. Se a data atual for 2/2/2006, você verá registros nos quais o campo DataDoPedido está definido como 2 de fevereiro de 2006.
Contêm a data de ontem Data()-1 Retorna registros de transações que ocorreram no dia anterior ao dia atual. Se a data de hoje for 2/2/2006, você verá registros para 1 de fevereiro de 2006.
Contêm a data de amanhã Data() + 1 Retorna registros de transações que ocorreram no dia seguinte ao dia atual. Se a data de hoje for 2/2/2006, você verá registros para 3 de fevereiro de 2006.
Contêm datas que estão na semana atual PartData("ss", [DataDaVenda]) = PartData("ss", Data()) e Ano( [DataDaVenda]) = Ano(Data()) Retorna registros de transações que ocorreram durante a semana atual. Um semana inicia no domingo e termina no sábado.
Contêm datas que estão na semana anterior Ano([DataDaVenda])* 53 + PartData("ss", [DataDaVenda]) = Ano(Data())* 53 + PartData("ss", Data()) - 1 Retorna registros de transações que ocorreram durante a última semana. Uma semana inicia no domingo e termina no sábado.
Contêm datas que estão na semana seguinte Ano([DataDaVenda])* 53+PartData("ss", [DataDaVenda]) = Ano(Data())* 53+PartData("ss", Data()) + 1 Retorna registros de transações que ocorrerão na próxima semana. Uma semana inicia no domigo e termina no sábado.
Contêm uma data que está nos últimos 7 dias Entre Data() e Data()-6 Retorna registros de transações que ocorreram nos últimos 7 dias. Se a data de hoje for 2/2/2006, você verá registros para o período de 24 de janeiro de 2006 a 2 de fevereiro de 2006.
Contêm uma data que pertence ao mês atual Ano([DataDaVenda]) = Ano(Agora()) E Mês([DataDaVenda]) = Mês(Agora()) Retorna registros para o mês atual. Se a data de hoje for 2/2/2006, você verá registros para fevereiro de 2006.
Contêm uma data que pertence ao mês anterior Ano([DataDaVenda])* 12 + PartData("m", [DataDaVenda]) = Ano(Data())* 12 + PartData("m", Data()) - 1 Retorna registros para o mês anterior. Se a data de hoje for 2/2/2006, você verá registros para janeiro de 2006.
Contêm uma data que pertence ao mês seguinte Ano([DataDaVenda])* 12 + PartData("m", [DataDaVenda]) = Ano(Data())* 12 + PartData("m", Data()) + 1 Retorna registros para o mês seguinte. Se a data de hoje for 2/2/2006, você verá registros para março de 2006.
Contêm uma data que está nos últimos 30 ou 31 dias Entre Data( ) E SomData("M", -1, Data( )) Um mês válido de registros de vendas. Se a data de hoje for 2/2/2006, você verá registros para o período de 2 de janeiro de 2006 a 2 de fevereiro de 2006
Contêm uma data que pertence ao trimestre atual Ano([DataDaVenda]) = Ano(Agora()) E PartData("t", Data()) = PartData("t", Agora()) Retorna registros para o trimestre atual. Se a data de hoje for 2/2/2006, você verá registros para o primeiro trimestre de 2006.
Contêm uma data que pertence ao trimestre anterior Ano([DataDaVenda])*4+PartData("t",[DataDaVenda]) = Ano(Data())*4+PartData("t",Data())- 1 Retorna registros para o trimestre anterior. Se a data de hoje for 2/2/2006, você verá registros para o último trimestre de 2005.
Contêm uma data que pertence ao próximo trimestre Ano([DataDaVenda])*4+PartData("t",[DataDaVenda]) = Ano(Data())*4+PartData("t",Data())+1 Retorna registros para o próximo trimestre. Se a data de hoje for 2/2/2006, você verá registros para o segundo trimestre de 2006.
Contêm uma data que está no ano atual Ano([DataDaVenda]) = Ano(Data()) Retorna registros para o ano atual. Se a data de hoje for 2/2/2006, você verá registros para o ano de 2006.
Contêm uma data que pertence ao ano anterior Ano([DataDaVenda]) = Ano(Data()) - 1 Retorna registros de transações que ocorreram no ano anterior. Se a data de hoje for 2/2/2006, você verá registros para o ano de 2005.
Contêm uma data que pertence ao próximo ano Ano([DataDaVenda]) = Ano(Data()) + 1 Retorna registros de transações com a data do ano seguinte. Se a data de hoje for 2/2/2006, você verá registros para o ano de 2007.
Contêm uma data que está entre 1 de janeiro e hoje (registros do ano até a data atual) Ano([DataDaVenda]) = Ano(Data()) e Mês([DataDaVenda]) <= Mês(Data()) e Dia([DataDaVenda]) <= Dia (Data()) Retorna registros de transações com datas que estão entre 1 de janeiro do ano atual e hoje. Se a data de hoje for 2/2/2006, você verá registros para o período de 1 de janeiro de 2006 a 2 de fevereiro de 2006.
Contêm uma data que ocorreu no passado < Data() Retorna registros de transações que ocorreram antes do dia de hoje.
Contêm uma data que ocorrerá no futuro > Data() Retorna registros de transações que ocorrerão depois do dia de hoje.
Filtrar valores nulos (ou ausentes) É Nulo Retorna registros nos quais a data de transação está ausente.
Filtrar valores não nulos É Negado Nulo Retorna registros nos quais a data de transação é conhecida.

Critérios para outros campos

Campos Sim/Não    Na linha Critérios, digite Sim para incluir registros nos quais a caixa de seleção está marcada. Digite Não para incluir registros nos quais a caixa de seleção não está marcada.

Anexos    Na linha Critérios, digite É Nulo para incluir registros que não contêm anexos. Digite É Negado Nulo para incluir registros que contêm anexos.

Campos de pesquisa    Há dois tipos de Campos de pesquisa: os que pesquisam valores em uma fonte de dados já existente (usando uma chave externa) e os que são baseados em uma lista de valores especificados quando o campo de pesquisa é criado.

Os campos de pesquisa que são baseados em uma lista de valores especificados são do tipo de dados Texto e os critérios válidos são os mesmos que para os outros campos de texto.

Os critérios que você pode usar em um campo de pesquisa baseado em valores de uma fonte de dados existente dependem do tipo de dados da chave estrangeira, em vez de depender do tipo de dados que estão sendo pesquisados. Por exemplo, você pode ter um campo de pesquisa que exibe o Nome do funcionário, mas utiliza uma chave estrangeira, que tem tipo de dados Número. Como o campo armazena um número, em vez de texto, use os critérios que funcionam para números, ou seja, >2

Se você não souber o tipo de dados da chave estrangeira, poderá verificar a tabela de origem no modo Design para determinar os tipos de dados do campo. Para fazer isso:

  1. Localize a tabela de origem no Painel de Navegação.
  2. Abra a tabela no modo Design seguindo um desses procedimentos:
    • Clicando na tabela e pressionando CTRL+ENTER
    • Clicando com o botão direito do mouse na tabela e clicando em Modo Design.
  3. O tipo de dados de cada campo é listado na coluna Tipo de Dados da grade de design da tabela.

Campos com múltiplos valores    Os dados em um campo com múltiplos valores são armazenados como linhas em uma tabela oculta que o Office Access 2007 cria e preenche para representar o campo. No modo Design da consulta, eles são representados na Lista de Campos, usando um campo expansível. Para usar critérios para um campo com múltiplos valores, forneça critérios para uma única linha da tabela oculta. Para fazer isso:

  1. Crie uma consulta que contém o campo com múltiplos valores e abra a consulta no modo Design.
  2. Expanda o campo com múltiplos valores clicando no símbolo (+) ao lado do campo — se o campo já estiver expandido, aparecerá um sinal de subtração (-). Logo abaixo do nome do campo, você verá um campo representando um valor único do campo com múltiplos valores. Esse campo terá o mesmo nome do campo com múltiplos valores, com o acréscimo da seqüência .Valor.
  3. Arraste o campo com múltiplos valores e o campo com valor único para colunas separadas na grade de design. Se desejar visualizar apenas o campo com valores múltiplos completo nos resultados, limpe a caixa de seleção Mostrar para o campo com valor único.
  4. Digite os critérios na linha Critérios para o campo com valor único, usando critérios adequados para o tipo de dados representados pelos valores.
  5. Cada valor no campo com múltiplos valores será avaliado individualmente usando os critérios que você forneceu. Por exemplo, você pode ter um campo com múltiplos valores que armazena uma lista de números. Se você fornecer o critério >5 E <3, qualquer registro em que haja, pelo menos, um valor maior do que 5 e um valor menor do que 3 será encontrado.
 
 
Aplica-se a:
Access 2007