Вы находитесь на странице: 1из 16

Material retirado do site Office online.

Introduo aos critrios de consulta Um critrio semelhante a uma frmula uma cadeia de caracteres que pode consistir em referncias de campo, operadores e constantes. Os critrios de consulta tambm so denominados de expresses no Microsoft Office Access 2007. As tabelas a seguir mostram alguns exemplos de critrios e explicam como eles funcionam. Critrios >25 e <50 Descrio Esse critrio aplicado a um campo Nmero, como Preo ou UnidadesEmEstoque. Inclui apenas os registros, nos quais o campo Preo ou UnidadesEmEstoque contm um valor maior do que 25 e menor do que 50. Esse critrio aplicado a um campo Data/Hora, como DataDeNascimento. Apenas registros nos quais o nmero de anos entre a data de nascimento de uma pessoa e a data atual for maior do que 30 so includos no resultado da consulta. Esse critrio pode ser aplicado a qualquer tipo de campo para mostrar registros nos quaiso valor do campo seja nulo.

DifData ("aaaa", [DataDeNascimento], Data()) > 30

Nulo

Como voc pode observar, os critrios podem parecer muito diferentes entre si, dependendo do tipo de dados do campo ao qual eles so aplicados e os requisitos especficos do usurio. Alguns critrios so simples e utilizam constantes e operadores bsicos. Outros so complexos e utilizam funes, operadores especiais e incluem referncias de campos. Este tpico lista vrios critrios freqentemente usados por tipo de dados. Se os exemplos fornecidos neste tpico no se aplicam s suas necessidades especficas, poder ser necessrio gravar seus prprios critrios. Para fazer isso, voc deve primeiro se familiarizar com a lista completa de funes, operadores, caracteres especiais e a sintaxe para expresses que se refiram a campos e literais. Para obter mais informaes, consulte os artigos listados na seo Consulte tambm. Aqui, voc aprender onde e como adicionar critrios. Para adicionar critrios a uma consulta, necessrio abrir a consulta no modo Design. Em seguida, identifique os campos para os quais deseja especificar critrios. Se o campo ainda no estiver na grade de design, adicioneo, 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 prxima coluna vazia na grade do campo). Finalmente, digite os critrios na linha Critrios

Os critrios especificados para campos diferentes na linha Critrios so combinados usando o operador E. Em outras palavras, os critrios especificados nos campos Cidade e DataDeNascimento so interpretados da seguinte maneira: Cidade = "Curitiba" E DataDeNascimento < SomData("aaaa", -40, Data())

1. Os campos Cidade e DataDeNascimento incluem critrios. 2. Apenas os registros em que o valor do campo Cidade for Curitiba ir satisfazer este critrio. 3. Apenas os registros para quem tem pelo menos 40 anos de idade ir satisfazer este critrio. 4. Apenas os registros que atendam aos dois critrios sero includos no resultado.

E se voc quiser que apenas uma dessas condies seja atendida? Ou seja, se voc tiver critrios alternativos, como eles sero inseridos? Caso tenha critrios alternativos, ou dois conjuntos independentes de critrios, em que suficiente satisfazer um dos conjuntos, use as linhas Critrios e ou na grade de design.

1. O critrio Cidade est especificado na linha Critrios. 2. O critrio DataDeNascimento est especificado na linha ou. Os critrios especificados nas linhas Critrios e ou so combinados usando o operador OU, conforme mostrado abaixo: Cidade = "Curitiba" OU DataDeNascimento < SomData("aaaa", -40, Data()) Se for necessrio especificar mais alternativas, use as linhas abaixo da linha ou. Antes de continuar examinando os exemplos, observe o seguinte: Se os critrios so temporrios ou so alterados com freqncia, voc pode filtrar o resultado da consulta, em vez de modificar freqentemente os critrios da consulta. Um filtro um critrio temporrio que altera o resultado da consulta, sem mudar o design da consulta. Para obter mais informaes sobre filtros, Se os campos de critrios no forem alterados, mas os valores que o interessam forem alterados com freqncia, crie uma consulta parmetro. A consulta parmetro solicita ao usurio os valores de campos e, em seguida, usa esses valores para criar os critrios da consulta.Os exemplos a seguir so para o campo PasRegio, que baseado em uma tabela que armazena informaes dos contatos. O critrio especificado na linha Critrios do campo na grade de design.

Um critrio que voc especificar para um campo Hiperlink ser, por padro, aplicado parte de exibio de texto do valor de campo. Para especificar os critrios para a parte da URL (Uniform Resource Locator) de destino do valor, use a expresso HyperlinkPart. A sintaxe dessa expresso a seguinte: HyperlinkPart([Tabela1].[Campo1],1) =

"http://www.microsoft.com/", onde Tabela1 o nome da tabela que contm o campo hiperlink, Campo1 o campo hiperlink e http://www.microsoft.com a URL que voc quer corresponder. Para incluir registros que... Correspondem totalmente a um valor, como China No correspondem a um valor, como Mxico Iniciam com seqncia especificada, como R a Use este critrio "China" Resultado da consulta Retorna registros nos quais o campo PasRegio est definido como China. Retorna registros nos quais o campo PasRegio est definido como um pas/uma regio diferente de Mxico. Retorna registros para todos os nomes de pases/regies que iniciam com "R", como Reino Unido, Rssia, etc. OBSERVAO Quando utilizado em uma expresso, o asterisco (*) representa qualquer seqncia de caracteres tambm chamado de caractere curinga. Para obter uma lista desses caracteres, consulte o artigo Referncia do caractere curinga do Access. No Como R* Retorna registros para todos nomes de pases/regies com um caractere diferente de "R". Retorna registros para todos os nomes de pases/regies que contm a seqncia

No "Mxico"

Como R*

No iniciam com a seqncia especificada, como R Contm seqncia a

Como "*Coria*"

especificada, como Coria No contm seqncia especificada, como Coria a No Como "*Coria*"

"Coria". Retorna registros para todos os pases/regies que no contm a seqncia "Coria". Retorna registros para todos os nomes de pases/regies que terminam em "ina", como China e Argentina. Retorna registros para todos os nomes de pases/regies que no terminam em "ina", como China e Argentina. Retorna registros nos quais no h valores no campo. Retorna registros nos quais o valor no est ausente no campo. Retorna registros nos quais o campo definido como um valor em branco (mas no nulo). Por exemplo, registros de vendas realizadas para outro departamento podem conter um valor em branco no campo PasRegio. Retorna registros nos quais o campo PasRegio possui um valor no vazio. Retorna registros onde no h valor no campo ou o campo est definido como um valor em branco. Retorna registros nos quais o campo PasRegio tem um valor no vazio, no nulo. Retorna registros de todos os pases/as regies, iniciando com Mxico e continuando at o fim do alfabeto.

Terminam com a seqncia especificadam, como "ina" No terminam com a seqncia especificada, como "ina" Contm valores nulos (ou ausentes) No contm valores nulos Contm seqncias de comprimento zero

Como "*ina"

No Como "*ina"

Nulo

Negado Nulo "" (um par de aspas)

No contm seqncias de comprimento zero Contm valores nulos ou seqncias de comprimento zero No est vazio ou em branco Seguem um valor, como Mxico, quando so classificados em ordem alfabtica Esto dentro de um intervalo especfico, como de A a D Correspondam a um de dois valores, como EUA ou Reino Unido Contm um dos valores em uma lista de valores

No ""

"" Ou Nulo

Negado Nulo e No "" >= "Mxico"

Como "[A-D]*"

Retorna registros para nomes de pases/regies que iniciam com as letras de "A" a "D". "Reino Retorna registros para EUA e Reino Unido.

"EUA" Unido"

Ou

Em("Frana", "China", "Alemanha", "Japo")

Retorna registros para todos pases/regies especificados na lista.

os

Contm determinados caracteres em uma posio especfica no valor do campo Satisfaam requisitos comprimento de

Direita([PasRegio], 1) = "a"

Retorna registros para todos os nomes de pases/regies nos quais a ltima letra seja "a".

Compr([PasRegio]) > 10 Como "Chi??"

Retorna registros para nomes pases/regies que tm mais de caracteres de comprimento.

de 10

Correspondam a um padro especfico

Retorna registros para nomes de pases/regies, como China e Chile, que tm cinco caracteres de comprimento e os primeiros trs caracteres so "Chi". OBSERVAO Os caracteres ? e _, quando usados em uma expresso, representam um caractere nico so tambm chamados de caracteres curinga. O caractere _ no pode ser usado na mesma expresso que o caractere ?, nem pode ser usado em uma expresso com o caractere curinga *. Voc pode usar o caractere curinga _ em uma expresso que tambm contenha o caractere curinga %.

Critrios para campos Nmero, Moeda e AutoNumerao Os exemplos a seguir so para o campo PreoUnitrio, em uma consulta baseada em uma tabela que armazena informaes sobre produtos. O critrio especificado na linha Critrios do campo, na grade de design da consulta.

Para incluir registros que...

Use este critrio

Resultado da consulta

Corresponda totalmente a um valor, como 100 No correspondam a um valor, como 1000 Contm um valor menor do que um outro valor, como 100 Contm um valor maior do que outro valor, como 99,99 Contm um de dois valores, como 20 ou 25 Contm um valor que est em um intervalo de valores Contm um valor que est fora de um intervalo Contm um de muitos valores especificados Contm um valor que termina com os dgitos especficados

100

Retorna registros nos quais o preo unitrio do produto R$ 100,00. Retorna registros nos quais o preo unitrio do produto no R$ 1.000,00. Retorna registros nos quais o preo unitrio menor do que R$ 100,00 (<100). A segunda expresso (<=100) exibe registros nos quais o preo unitrio menor do que ou igual a R$ 100,00. Retorna registros nos quais o preo unitrio maior do que R$ 99,99 (>99,99). A segunda expresso exibe registros nos quais o preo unitrio maior do que ou igual a R$ 99,99. Retorna registros nos quais o preo unitrio R$ 20,00 ou R$ 25,00. Retorna registros nos quais o preo unitrio est entre (mas no incluindo) R$ 49,99 e R$ 99,99.

No 1000 < 100 <= 100

>99,99 >=99,99

20 ou 25

>49,99 e <99,99 -ouEntre 50 e 100 <50 ou >100 Em(20, 25, 30) Como "*4,99"

Retorna registros nos quais o preo unitrio no est entre R$ 50,00 e R$ 100,00. Retorna registros nos quais o preo unitrio R$ 20,00, R$ 25,00 ou R$ 30,00. Retorna registros nos quais o preo unitrio termina com "4,99", como R$ 4,99, R$ 14,99, R$ 24,99, etc. OBSERVAO Os caracteres * e %, quando usados em uma expresso, representam qualquer nmero de caracteres so tambm chamados de caracteres curinga. O caractere % no pode ser usado na mesma expresso que o caractere *, nem pode ser usado em uma expresso com o caractere curinga ?. Voc pode usar o caractere curinga % em uma expresso que tambm contenha o caractere curinga _.

Contm nulos ausentes)

valores (ou

Nulo

Retornam registros nos quais nenhum valor inserido no campo PreoUnitrio. Retorna registros nos quais o valor no est ausente no campo PreoUnitrio.

Contm valores no nulos

Negado Nulo

Critrios para campos Data/Hora Os exemplos a seguir so para o campo DataDoPedido, em um consulta com base em uma tabela que armazena informaes sobre pedidos. O critrio especificado na linha Critrios do campo, na grade de design da consulta.

Para incluir registros que ... Correspondem totalmente a um valor, como 2/2/2006

Use este critrio #02.02.06#

Resultado da consulta Retorna registros de transaes que ocorreram em 2 de fevereiro de 2006. Lembrese de incluir os valores de data entre os caracteres # para que o Access possa distinguir entre valores de data e seqncias de texto. Retorna registros de transaes que ocorreram em um dia diferente de 3 de fevereiro de 2006. Retorna registros de transaes que ocorreram antes de 2 de fevereiro de 2006. Para

No correspondem a um valor, como 2/2/2006

No #2/2/2006#

Contm valores que esto antes de um determinado valor, como 2/2/2006

< #2/2/2006#

visualizar transaes que ocorreram nessa data ou antes dessa data, use o operador <=, em vez do operador < . Contm valores que esto depois de uma determinada data, como 2/2/2006 > #2/2/2006# Retorna registros de transaes que ocorreram depois de 2 de fevereiro de 2006. Para visualizar transaes que ocorreram nessa data ou depois dessa data, use o operador >=, em vez do operador >. Contm valores que esto em um intervalo de datas >#2/2/2006# e <#2/4/2006# Retorna registros nos quais as transaes ocorreram entre 2 de fevereiro de 2006 e 4 de fevereiro de 2006. Voc tambm 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# . Contm valores que esto fora de um intervalo <#2/2/2006# ou >#2/4/2006# Retorna registros nos quais as transaes ocorreram antes de 2 de

fevereiro de 2006 ou depois de 4 de fevereiro de 2006. Contm um de dois valores, como 2/2/2006 ou 2/3/2006 #2/2/2006# ou #2/3/2006# Retorna registros de transaes que ocorreram em 2 de fevereiro de 2006 ou 3 de fevereiro de 2006. Retorna registros nos quais as transaes ocorreram em 1 de fevereiro de 2006, 1 de maro de 2006 ou 1 de abril de 2006. Retorna registros nos quais as transaes ocorreram em dezembro de algum ano. Retorna registros nos quais as transaes ocorreram no primeiro trimestre de qualquer ano. Retorna registros de transaes 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. Retorna registros de

Contm um de muitos valores

Em (#2/1/2006#, #3/1/2006#, #4/1/2006#)

Contm uma data que est em um ms especfico (independente do ano), como dezembro Contm uma data que est em um trimestre especfico (independente do ano), como o primeiro trimestre Contm a data de hoje

PartData("m", [DataDaVenda]) = 12

PartData("t", [DataDaVenda]) = 1

Data( )

Contm a data de ontem

Data()-1

transaes 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. Contm a data de amanh Data() + 1 Retorna registros de transaes 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. Retorna registros de transaes que ocorreram durante a semana atual. Um semana inicia no domingo e termina no sbado. Retorna registros de transaes que ocorreram durante a ltima semana. Uma semana inicia no domingo e termina no sbado. Retorna registros de transaes que ocorrero na prxima semana. Uma semana inicia no domigo e termina no sbado. Retorna

Contm datas que esto na semana atual

PartData("ss", [DataDaVenda]) = PartData("ss", Data()) e Ano( [DataDaVenda]) = Ano(Data())

Contm datas que esto na semana anterior

Ano([DataDaVenda])* 53 + PartData("ss", [DataDaVenda]) = Ano(Data())* 53 + PartData("ss", Data()) - 1

Contm datas que esto na semana seguinte

Ano([DataDaVenda])* 53+PartData("ss", [DataDaVenda]) = Ano(Data())* 53+PartData("ss", Data()) + 1

Contm uma data

Entre Data() e Data()-6

que est nos ltimos 7 dias

registros de transaes que ocorreram nos ltimos 7 dias. Se a data de hoje for 2/2/2006, voc ver registros para o perodo de 24 de janeiro de 2006 a 2 de fevereiro de 2006. Ano([DataDaVenda]) = Ano(Agora()) Ms([DataDaVenda]) = Ms(Agora()) E Retorna registros para o ms atual. Se a data de hoje for 2/2/2006, voc ver registros para fevereiro de 2006. Retorna registros para o ms anterior. Se a data de hoje for 2/2/2006, voc ver registros para janeiro de 2006. Retorna registros para o ms seguinte. Se a data de hoje for 2/2/2006, voc ver registros para maro de 2006. Um ms vlido de registros de vendas. Se a data de hoje for 2/2/2006, voc ver registros para o perodo de 2 de janeiro de 2006 a 2 de fevereiro de 2006

Contm uma data que pertence ao ms atual

Contm uma data que pertence ao ms anterior

Ano([DataDaVenda])* 12 + PartData("m", [DataDaVenda]) = Ano(Data())* 12 + PartData("m", Data()) 1

Contm uma data que pertence ao ms seguinte

Ano([DataDaVenda])* 12 + PartData("m", [DataDaVenda]) = Ano(Data())* 12 + PartData("m", Data()) + 1

Contm uma data que est nos ltimos 30 ou 31 dias

Entre Data( ) E SomData("M", -1, Data( ))

Contm 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. Retorna registros para o trimestre anterior. Se a data de hoje for 2/2/2006, voc ver registros para o ltimo trimestre de 2005. Retorna registros para o prximo trimestre. Se a data de hoje for 2/2/2006, voc ver registros para o segundo trimestre de 2006. Retorna registros para o ano atual. Se a data de hoje for 2/2/2006, voc ver registros para o ano de 2006. Retorna registros de transaes que ocorreram no ano anterior. Se a data de hoje for 2/2/2006, voc ver registros para o ano de 2005. Retorna registros de

Contm uma data que pertence ao trimestre anterior

Ano([DataDaVenda])*4+PartData("t",[DataDaVenda]) = Ano(Data())*4+PartData("t",Data())- 1

Contm uma data que pertence ao prximo trimestre

Ano([DataDaVenda])*4+PartData("t",[DataDaVenda]) = Ano(Data())*4+PartData("t",Data())+1

Contm uma data que est no ano atual

Ano([DataDaVenda]) = Ano(Data())

Contm uma data que pertence ao ano anterior

Ano([DataDaVenda]) = Ano(Data()) 1

Contm uma data que pertence ao

Ano([DataDaVenda]) = Ano(Data()) + 1

prximo ano

transaes com a data do ano seguinte. Se a data de hoje for 2/2/2006, voc ver registros para o ano de 2007. Ano([DataDaVenda]) = Ano(Data()) Ms([DataDaVenda]) <= Ms(Data()) Dia([DataDaVenda]) <= Dia (Data()) e e Retorna registros de transaes com datas que esto entre 1 de janeiro do ano atual e hoje. Se a data de hoje for 2/2/2006, voc ver registros para o perodo de 1 de janeiro de 2006 a 2 de fevereiro de 2006. Retorna registros de transaes que ocorreram antes do dia de hoje. Retorna registros de transaes que ocorrero depois do dia de hoje. Retorna registros nos quais a data de transao est ausente. Retorna registros nos quais a data de transao conhecida.

Contm uma data que est entre 1 de janeiro e hoje (registros do ano at a data atual)

Contm uma data que ocorreu no passado

< Data()

Contm uma data que ocorrer no futuro

> Data()

Filtrar valores nulos (ou ausentes)

Nulo

Filtrar valores no nulos

Negado Nulo

Critrios para outros campos Campos Sim/No Na linha Critrios, digite Sim para incluir registros nos quais a caixa de seleo est marcada. Digite No para incluir registros nos quais a caixa de seleo no est marcada.

Anexos Na linha Critrios, digite Nulo para incluir registros que no contm anexos. Digite Negado Nulo para incluir registros que contm 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 so baseados em uma lista de valores especificados quando o campo de pesquisa criado. Os campos de pesquisa que so baseados em uma lista de valores especificados so do tipo de dados Texto e os critrios vlidos so os mesmos que para os outros campos de texto. Os critrios 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 esto sendo pesquisados. Por exemplo, voc pode ter um campo de pesquisa que exibe o Nome do funcionrio, mas utiliza uma chave estrangeira, que tem tipo de dados Nmero. Como o campo armazena um nmero, em vez de texto, use os critrios que funcionam para nmeros, ou seja, >2 Se voc no 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 Navegao. 2. Abra a tabela no modo Design seguindo um desses procedimentos: Clicando na tabela e pressionando CTRL+ENTER Clicando com o boto 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 mltiplos valores Os dados em um campo com mltiplos valores so 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 so representados na Lista de Campos, usando um campo expansvel. Para usar critrios para um campo com mltiplos valores, fornea critrios para uma nica linha da tabela oculta. Para fazer isso: 1. Crie uma consulta que contm o campo com mltiplos valores e abra a consulta no modo Design. 2. Expanda o campo com mltiplos valores clicando no smbolo (+) ao lado do campo se o campo j estiver expandido, aparecer um sinal de subtrao (-). Logo abaixo do nome do campo, voc ver um campo representando um valor nico do campo com mltiplos valores. Esse campo ter o mesmo nome do campo com mltiplos valores, com o acrscimo da seqncia .Valor.

3. Arraste o campo com mltiplos valores e o campo com valor nico para colunas separadas na grade de design. Se desejar visualizar apenas o campo com valores mltiplos completo nos resultados, limpe a caixa de seleo Mostrar para o campo com valor nico. 4. Digite os critrios na linha Critrios para o campo com valor nico, usando critrios adequados para o tipo de dados representados pelos valores. 5. Cada valor no campo com mltiplos valores ser avaliado individualmente usando os critrios que voc forneceu. Por exemplo, voc pode ter um campo com mltiplos valores que armazena uma lista de nmeros. Se voc fornecer o critrio >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

Вам также может понравиться