Pode utilizar a propriedade TopValues para devolver um número específico de registos ou uma percentagem de registos que cumpram os critérios especificados. Por exemplo, poderá querer devolver os 10 valores superiores ou 25% de todos os valores num campo.
Nota: A propriedade TopValues só se aplica a consultas acrescentar, criar tabela e selecionar.
Definição
A definição da propriedade TopValues é um valor Inteiro que representa o número exato de valores a devolver ou um número seguido de um sinal de percentagem (%) que representa a percentagem de registos a devolver. Por exemplo, para devolver os 10 valores mais altos, defina a propriedade TopValues como 10; para devolver os 10 valores mais altos, defina a propriedade TopValues como 10%.
Não pode definir esta propriedade diretamente no código. É definida na vista SQL da janela Consulta com uma cláusula TOP n ou TOP n PERCENT na instrução SQL.
Também pode definir a propriedade TopValues com a folha de propriedades da consulta ou na caixa Primeiros valores em Ferramentas no separador Estrutura.
Nota: A propriedade TopValues na folha de propriedades da consulta e no separador Estrutura é uma caixa de combinação que contém uma lista de valores e valores de percentagem. Pode selecionar um destes valores ou escrever uma definição válida na caixa.
Observações
Geralmente, utiliza a definição de propriedade TopValues em conjunto com campos ordenados. O campo para o qual pretende apresentar os valores superiores deve ser o campo mais à esquerda com a caixa Ordenar selecionada na grelha de estrutura da consulta. Uma ordenação ascendente devolve os registos inferiores e uma ordenação descendente devolve os registos superiores. Se especificar que deve ser devolvido um número específico de registos, todos os registos com valores que correspondam ao valor no último registo também serão devolvidos.
Por exemplo, imaginemos que um conjunto de funcionários tem os seguintes totais de vendas.
Vendas |
Vendedor |
90 000 |
Barbosa |
80 000 |
Faria |
70 000 |
Oliveira |
70 000 |
Ribeiro |
60 000 |
Santos |
50 000 |
Teixeira |
Se definir a propriedade TopValues para 3 com uma ordenação descendente no campo Vendas, o Microsoft Office Access 2007 devolve seguintes quatro registos.
Vendas |
Vendedor |
90 000 |
Barbosa |
80 000 |
Faria |
70 000 |
Oliveira |
70 000 |
Ribeiro |
Nota: Para devolver os valores superiores ou inferiores sem apresentar valores duplicados, defina a propriedade UniqueValues na folha de propriedades da consulta para Sim.
Exemplo
O exemplo seguinte atribui uma cadeia SQL que devolve os 10 produtos mais dispendiosos à propriedade OrigemDosRegistos para um formulário que irá apresentar os 10 produtos mais dispendiosos.
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _ & "AS TenMostExpensiveProducts, " _ & "Products.UnitPrice " _ & "FROM Products " _ & "ORDER BY Products.[UnitPrice] DESC;" Me.RecordSource = strGetSQL