Vlastnost TopValues můžete použít k vrácení určitého počtu záznamů nebo procenta záznamů splňujících zadaná kritéria. Můžete chtít například vrátit nejvyšších 10 hodnot nebo nejvyšších 25 procent všech hodnot v nějakém poli.
Poznámka: Vlastnost TopValues platí jenom pro přidávací, vytvářecí a výběrové dotazy.
Nastavení
Nastavení vlastnosti TopValues je celočíselná hodnota představující přesný počet hodnot, které se mají vrátit, nebo číslo následované znakem procenta (%) představující procento vrácených záznamů. Chcete-li například vrátit prvních 10 hodnot, nastavte TopValues vlastnost na 10; pokud chcete vrátit prvních 10 procent hodnot, nastavte vlastnost TopValues na 10 %.
Tuto vlastnost nemůžete nastavit přímo v kódu. Nastavuje se v Zobrazení SQLOkno dotazu pomocí klauzule TOP n nebo TOP n PERCENT v příkazu SQL.
Vlastnost TopValues můžete nastavit také pomocí seznamu vlastností dotazu nebo pole Nejvyšší hodnoty v oblasti Nástroje na kartě Návrh.
Poznámka: Vlastnost TopValues v seznamu vlastností dotazu a na kartě Návrh je pole se seznamem, které obsahuje seznam hodnot a procentuálních hodnot. Můžete vybrat jednu z těchto hodnot nebo do tohoto pole zadat jakékoli platné nastavení.
Poznámky
Nastavení vlastnosti TopValues se zpravidla používá společně se seřazenými poli. Pole, jehož nejvyšší hodnoty chcete zobrazit, by mělo být pole úplně vlevo, u kterého je v mřížce návrhu dotazu zaškrtnuté políčko Seřadit. Při vzestupném řazení se vrátí nejnižší záznamy, při sestupném řazení se vrátí nejvyšší záznamy. Pokud určíte, že se má vrátit konkrétní počet záznamů, vrátí se rovněž všechny záznamy s hodnotami, které se shodují s hodnotou v posledním záznamu.
Dejme tomu, že množina zaměstnanců obsahuje následující celkové prodeje.
Prodej |
Prodejce |
90 000 |
Hřebíček |
80 000 |
Kupková |
70 000 |
Chvojková |
70 000 |
Sedlář |
60 000 |
Macek |
50 000 |
Stoklasa |
Pokud u pole Prodej nastavíte vlastnost TopValues na 3 a sestupné řazení, vrátí Microsoft Office Access 2007 následující čtyři záznamy.
Prodej |
Prodejce |
90 000 |
Hřebíček |
80 000 |
Kupková |
70 000 |
Chvojková |
70 000 |
Sedlář |
Poznámka: Pokud chcete vrátit nejvyšší nebo nejnižší záznamy bez zobrazení duplicitních hodnot, nastavte vlastnost UniqueValues v seznamu vlastností dotazu na Yes.
Příklad
Následující příklad přiřadí řetězec SQL, který vrátí 10 nejdražších produktů do vlastnosti RecordSource formuláře, ve kterém se zobrazí těchto deset nejdražších produktů.
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _
& "AS TenMostExpensiveProducts, " _
& "Products.UnitPrice " _
& "FROM Products " _
& "ORDER BY Products.[UnitPrice] DESC;"
Me.RecordSource = strGetSQL