Aplica-se a
Access 2010

Este artigo explica como usar consultas e totais de valores superiores para encontrar as datas mais recentes ou mais antigas em um conjunto de registros. Isso pode ajudá-lo a responder a uma variedade de perguntas comerciais, como quando um cliente fez um pedido pela última vez ou quais cinco trimestres têm sido os melhores para vendas, por cidade.

Neste artigo

Visão geral

Você pode classificar os dados e examinar os itens mais bem classificados usando uma consulta de valores superiores. Uma consulta de valor superior é uma consulta selecionada que retorna um número ou uma porcentagem de valores especificados da parte superior dos resultados, por exemplo, as cinco páginas mais populares em um site da Web. Você pode usar uma consulta de valores superiores em relação a qualquer tipo de valores – eles não precisam ser números.

Se você quiser agrupar ou resumir seus dados antes de classificá-los, não precisará usar uma consulta de valores superiores. Por exemplo, suponha que você precise encontrar os números de vendas de uma determinada data para cada cidade em que sua empresa opera. Nesse caso, as cidades se tornam categorias (você precisa encontrar os dados por cidade), para que você use uma consulta total.

Quando você usa uma consulta de valores principais para encontrar registros que contêm as datas mais recentes ou mais antigas em uma tabela ou grupo de registros, você pode responder a uma variedade de perguntas comerciais, como o seguinte:

  • Quem tem feito mais vendas ultimamente?

  • Quando um cliente fez um pedido pela última vez?

  • Quando serão os próximos três aniversários na equipe?

Para fazer uma consulta de valor superior, comece criando uma consulta selecionada. Em seguida, classifique os dados de acordo com sua pergunta : se você está procurando a parte superior ou inferior. Se você precisar agrupar ou resumir os dados, transforme a consulta selecionada em uma consulta total. Em seguida, você pode usar uma função agregada, como Max ou Min , para retornar o valor mais alto ou mais baixo, ou Primeiro ou Último para retornar a data mais antiga ou mais recente.

Este artigo pressupõe que os valores de data que você usa tenham o tipo de dados Data/Hora. Se os valores de data estiverem em um campo Texto, .

Considere usar um filtro em vez de uma consulta de valores superiores

Geralmente, um filtro é melhor se você tiver uma data específica em mente. Para determinar se você deve criar uma consulta de valores superiores ou aplicar um filtro, considere o seguinte:

  • Se você quiser retornar todos os registros em que a data corresponde, será anterior ou posterior a uma data específica, use um filtro. Por exemplo, para ver as datas de vendas entre abril e julho, você aplica um filtro.

  • Se você quiser retornar uma quantidade especificada de registros que tenham as datas mais recentes ou mais recentes em um campo e não souber os valores exatos da data ou eles não importam, crie uma consulta de valores superiores. Por exemplo, para ver os cinco melhores trimestres de vendas, use uma consulta de valores superiores.

Para obter mais informações sobre como criar e usar filtros, consulte o artigo Aplicar um filtro para exibir registros selecionados em um banco de dados do Access.

Início da Página

Preparar dados de exemplo para acompanhar os exemplos

As etapas deste artigo usam os dados nas tabelas de exemplo a seguir.

A tabela Funcionários   

Sobrenome

Nome

Endereço

Cidade

Egion CountryOrR

Data de nascimento

Data de Contratação

Oliveira

Manuel

1 Main St.

Nova York

USA

05-Feb-1968

10-Jun-1994

Heloo

Waleed

52 1st St.

Boston

USA

22 de maio de 1957

22-Nov-1996

Gonçalo

Guido

3122 75th Ave. S.W.

Seattle

USA

11-Nov-1960

11-Mar-2000

Bagel

Jean Philippe

1 Contoso Blvd.

Londres

UK

22-Mar-1964

22-Jun-1998

Andrade

Juliano

Calle Smith 2

Cidade do México

México

05-Jun-1972

05-Jan-2002

Hughes

Christine

3122 75th St. S.

Seattle

USA

23-Jan-1970

23-Abr-1999

Riley

Steve

67 Big St.

Tampa

USA

14-Abr-1964

14-Out-2004

Birkby

Yara

2 Nosey Pkwy

Rio de Janeiro

USA

29-Out-1959

29-Mar-1997

A tabela EventType   

TypeID

Tipo de Evento

1

Lançamento do Produto

2

Função Empresarial

3

Função Privada

4

Angariação de Fundos

5

Feira comercial

6

Palestra

7

Concerto

8

Exposição

9

Feira de Rua

A tabela Clientes   

CustomerID

Empresa

Contato

1

Contoso, Ltd. Elemento gráfico

Jonathan Haas

2

Tailspin Toys

Ellen Adams

3

Fabrikam

Carol Philips

4

Wingtip Toys

Lucio Iallo

5

A. Datum

Mandar Samant

6

Empresa Aventura

Brian Burke

7

Instituto de Design

Jaka Stele

8

School of Fine Art

Milena Duomanova

A tabela Eventos   

IDDoEvento

Tipo de Evento

Cliente

Data do Evento

Andrade

1

Lançamento do Produto

Contoso, Ltd.

4/14/2011

$10.000

2

Função Empresarial

Tailspin Toys

4/21/2011

$8.000

3

Feira comercial

Tailspin Toys

01/05/2011

$25.000

4

Exposição

Instituto de Design Gráfico

5/13/2011

$4.500

5

Feira comercial

Contoso, Ltd.

5/14/2011

$55.000

6

Concerto

School of Fine Art

5/23/2011

R$ 12.000

7

Lançamento do Produto

A. Datum

6/1/2011

$15.000

8

Lançamento do Produto

Wingtip Toys

6/18/2011

R$ 21.000

9

Angariação de Fundos

Empresa Aventura

6/22/2011

$1.300

10

Palestra

Instituto de Design Gráfico

6/25/2011

$2.450

11

Palestra

Contoso, Ltd.

04.07.11

$3.800

12

Feira de Rua

Instituto de Design Gráfico

04.07.11

R$ 5.500

Observação: As etapas nesta seção pressupõem que as tabelas Clientes e Tipo de Evento residem no lado "um" das relações de um para muitos com a tabela Eventos. Nesse caso, a tabela Eventos compartilha os campos CustomerID e TypeID. Os totais de consultas descritos nas próximas seções não funcionarão sem essas relações.

Cole os dados de exemplo nas planilhas do Excel

  1. Inicie o Excel. Uma pasta de trabalho vazia é aberta.

  2. Pressione SHIFT+F11 para inserir uma planilha (você precisará de quatro).

  3. Copie os dados de cada tabela de exemplo em uma planilha vazia. Inclua os títulos de coluna (a primeira linha).

Criar tabelas de banco de dados a partir das planilhas

  1. Selecione os dados na primeira planilha, incluindo os títulos de coluna.

  2. Clique com o botão direito do mouse no Painel de Navegação e clique em Colar.

  3. Clique em Sim para confirmar se a primeira linha contém títulos de coluna.

  4. Repita as etapas 1-3 para cada uma das planilhas restantes.

Localizar a data mais ou menos recente

As etapas nesta seção usam os dados de exemplo para ilustrar o processo de criação de uma consulta de valores superiores.

Criar uma consulta de valores principais básicos

  1. Na guia Criar, no grupo Consultas, clique em Design da Consulta.

  2. Clique duas vezes na tabela Funcionários e clique em Fechar.

    Se você usar os dados de exemplo, adicione a tabela Funcionários à consulta.

  3. Adicione os campos que você deseja usar em sua consulta à grade de design. Você pode clicar duas vezes em cada campo ou arrastar e soltar cada campo em uma célula em branco na linha Campo .

    Se você usar a tabela de exemplo, adicione os campos Nome, Sobrenome e Data de Nascimento.

  4. No campo que contém os valores superior ou inferior (o campo Data de Nascimento, se você usar a tabela de exemplo), clique na linha Classificar e selecione Ascending ou Descending.

    A ordem de classificação decrescente retorna a data mais recente e a ordem de classificação crescente retorna a data mais antiga.

    Importante: Você deve definir um valor na linha Classificar apenas para campos que contêm suas datas. Se você especificar uma ordem de classificação para outro campo, a consulta não retornará os resultados desejados.

  5. Na guia Design , no grupo Ferramentas , clique na seta para baixo ao lado de Todos (a lista Valores Superiores) e insira o número de registros que deseja ver ou selecione uma opção na lista.

  6. Clique em Executar Imagem do botãopara executar a consulta e exibir os resultados na exibição Datasheet.

  7. Salve a consulta como NextBirthDays.

Você pode ver que esse tipo de consulta de valores superiores pode responder a perguntas básicas, como quem é a pessoa mais antiga ou mais jovem da empresa. As próximas etapas explicam como usar expressões e outros critérios para adicionar energia e flexibilidade à consulta. Os critérios mostrados na próxima etapa retornam os próximos três aniversários de funcionários.

Adicionar critérios à consulta

Essas etapas usam a consulta criada no procedimento anterior. Você pode acompanhar uma consulta de valores superiores diferente, desde que contenha dados de data/hora reais, não valores de texto.

Dica:  Se você quiser entender melhor como essa consulta funciona, alterne entre a exibição design e a exibição datasheet em cada etapa. Se você quiser ver o código de consulta real, alterne para o modo de exibição SQL. Para alternar entre exibições, clique com o botão direito do mouse na guia na parte superior da consulta e clique na exibição desejada.

  1. No Painel de Navegação, clique com o botão direito do mouse na consulta NextBirthDays e clique em Exibição de Design.

  2. Na grade de design da consulta, na coluna à direita de BirthDate, insira o seguinte:MonthBorn: DatePart("m",[BirthDate]).Essa expressão extrai o mês de BirthDate usando a função DatePart .

  3. Na próxima coluna da grade de design de consulta, insira o seguinte:DayOfMonthBorn: DatePart("d",[BirthDate])Essa expressão extrai o dia do mês de BirthDate usando a função DatePart .

  4. Desmarque as caixas de marcar na linha Mostrar para cada uma das duas expressões que você acabou de inserir.

  5. Clique na linha Classificar para cada expressão e selecione Ascending.

  6. Na linha Critérios da coluna Data de Nascimento , digite a seguinte expressão:Month([Data de Nascimento]) > Mês()) OR Month([Data de Nascimento])= Mês(Data()) E Dia([Data de Nascimento])>Dia(Data()))Esta expressão faz o seguinte:

    • Month( [Data de nascimento]) > Month(Date()) especifica que a data de nascimento de cada funcionário cai em um mês futuro.

    • O Mês([Data de Nascimento])= Mês()) E Dia([Data de Nascimento])>Dia(Data()) especifica que, se a data de nascimento ocorrer no mês atual, o aniversário cairá ou após o dia atual.

      Em suma, essa expressão exclui todos os registros em que o aniversário ocorre entre 1º de janeiro e a data atual.

      Dica:  Para obter mais exemplos de expressões de critérios de consulta, consulte o artigo Exemplos de critérios de consulta.

  7. Na guia Design , no grupo Configuração de Consulta , digite 3 na caixa Retornar .

  8. Na guia Design, no grupo Resultados, clique em Executar Imagem do botão.

Observação:  Em sua própria consulta usando seus próprios dados, às vezes você pode ver mais registros do que você especificou. Se seus dados contiverem vários registros que compartilham um valor que está entre os valores principais, sua consulta retornará todos esses registros, mesmo que isso signifique retornar mais registros do que você queria.

Início da Página

Localizar as datas mais ou menos recentes para grupos de registros

Você usa uma consulta de totais para encontrar as datas mais antigas ou mais recentes para registros que se enquadram em grupos, como eventos agrupados pela cidade. Uma consulta total é uma consulta selecionada que usa funções agregadas (como Grupo Por, Min, Max, Contagem, Primeiro e Último) para calcular valores para cada campo de saída.

Inclua o campo que você deseja usar para categorias – para agrupar por – e o campo com valores que você deseja resumir. Se você incluir outros campos de saída – por exemplo, os nomes dos clientes quando você estiver agrupando por tipo de evento – a consulta também usará esses campos para fazer grupos, alterando os resultados para que eles não respondam à sua pergunta original. Para rotular as linhas usando outros campos, você cria uma consulta adicional que usa a consulta total como fonte e adiciona os campos adicionais a essa consulta.

Dica:  Criar consultas em etapas é uma estratégia muito eficaz para responder a perguntas mais avançadas. Se você estiver tendo problemas para obter uma consulta complicada para trabalhar, considere se você pode dividi-la em uma série de consultas mais simples.

Criar uma consulta de totais

Este procedimento usa a tabela de exemplo Eventos e a tabela de exemplo EventType para responder a esta pergunta:

Quando foi o evento mais recente de cada tipo de evento, excluindo concertos?

  1. Na guia Criar, no grupo Consultas, clique em Design da Consulta.

  2. Clique duas vezes nas tabelas Eventos e EventType. Cada tabela é exibida na seção superior do designer de consulta.

  3. Clique duas vezes no campo EventType da tabela EventType e no campo EventDate da tabela Eventos para adicionar os campos à grade de design de consulta.

  4. Na grade de design de consulta, na linha Critérios do campo EventType , insira <>Concerto.

    Dica:  Para obter mais exemplos de expressões de critério, consulte o artigo Exemplos de critérios de consulta.

  5. Na guia Design , no grupo Mostrar/Ocultar , clique em Totais.

  6. Na grade de design da consulta, clique na linha Total do campo EventDate e clique em Max.

  7. Na guia Design, no grupo Resultados, clique em Modo de Exibição e clique em Modo SQL.

  8. Na janela SQL, no final da cláusula SELECT, logo após o as palavra-chave, substitua MaxOfEventDate pelo MostRecent.

  9. Salve a consulta como MostRecentEventByType.

Criar uma segunda consulta para adicionar mais dados

Este procedimento usa a consulta MostRecentEventByType do procedimento anterior para responder a esta pergunta:

Quem foi o cliente no evento mais recente de cada tipo de evento?

  1. Na guia Criar, no grupo Consultas, clique em Design da Consulta.

  2. Na guia Consultas , clique duas vezes na consulta MostRecentEventByType.

  3. No separador Tabelas , faça duplo clique na tabela Eventos e na tabela Clientes.

  4. No estruturador de consultas, faça duplo clique nos seguintes campos:

    1. Na tabela Eventos, faça duplo clique em EventType.

    2. Na consulta MostRecentEventByType, faça duplo clique em MostRecent.

    3. Na tabela Clientes, faça duplo clique em Empresa.

  5. Na grelha de estrutura da consulta, na linha Ordenar da coluna EventType , selecione Ascendente.

  6. Na guia Design, no grupo Resultados, clique em Executar.

Início da Página

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.