Właściwość TopValues (NajwyższeWartości) służy do zwracania określonej liczby rekordów lub procentu rekordów, które spełniają określone kryteria. Na przykład zwróci 10 najwyższych wartości lub 25% najwyższych wartości w polu.
Uwaga: Właściwość TopValues (NajwyższeWartości) dotyczy tylko zapytań dołączających, zapytań tworzących tabele oraz zapytań wybierających.
Ustawienie
Ustawienie właściwości TopValues (NajwyższeWartości ) to wartość całkowita reprezentująca dokładną liczbę zwracanych wartości lub liczbę, po której następuje znak procentu (%) reprezentujący procent zwracanych rekordów. Aby na przykład zwrócić 10 najwyższych wartości, ustaw właściwość TopValues (NajwyższeWartości ) na 10. aby zwrócić 10 procent najwyższych wartości, ustaw właściwość TopValues (NajwyższeWartości) na wartość 10%.
Nie można ustawić tej właściwości bezpośrednio w kodzie. Jest ona ustawiana w widok SQLokno zapytania przy użyciu klauzuli TOP n lub TOP n PERCENT w instrukcji SQL.
Właściwość TopValues (NajwyższeWartości) można także ustawić za pomocą arkusza właściwości zapytania lub pola Najwyższe wartości w obszarze Narzędzia na karcie Projektowanie.
Uwaga: Właściwość TopValues (NajwyższeWartości) w arkuszu właściwości zapytania i na karcie Projektowanie jest polem kombi zawierającym listę wartości i wartości procentowych. Możesz wybrać jedną z tych wartości lub wprowadzić dowolne prawidłowe ustawienie w polu.
Spostrzeżenia
Zwykle ustawienia właściwości TopValues (NajwyższeWartości) używa się wspólnie z posortowanymi polami. Pole, dla którego chcesz wyświetlić najwyższe wartości, powinno być skrajnym lewym polem, dla którego zaznaczono pole Sortowanie w siatce projektu zapytania. Sortowanie w porządku rosnącym zwraca najniższe rekordy, a sortowanie w porządku malejącym zwraca najwyższe rekordy. Jeśli określisz konkretną liczbę rekordów, jaka ma zostać zwrócona, wszystkie rekordy z wartościami pasującymi do wartości ostatniego rekordu również zostaną zwrócone.
Załóżmy na przykład, że grupa pracowników uzyskała następujące sumy sprzedaży.
Sprzedaż |
Sprzedawca |
90 000 |
Krawczyk |
80 000 |
Duda |
70 000 |
Kowalczyk |
70 000 |
Pawlak |
60 000 |
Pawłowski |
50 000 |
Michalski |
Jeśli ustawisz właściwość TopValues (NajwyższeWartości) na wartość 3 z malejącym porządkiem sortowania w polu Sprzedaż, program Microsoft Office Access 2007 zwróci następujące cztery rekordy.
Sprzedaż |
Sprzedawca |
90 000 |
Krawczyk |
80 000 |
Duda |
70 000 |
Kowalczyk |
70 000 |
Pawlak |
Uwaga: Aby zwrócić najwyższe lub najniższe wartości bez wyświetlania zduplikowanych wartości, ustaw właściwość UniqueValues (WartościUnikatowe) w arkuszu właściwości zapytania na wartość Tak.
Przykład
W poniższym przykładzie ciąg SQL, który zwraca 10 najdroższych produktów, został przypisany do właściwości RecordSource (ŹródłoRekordów) formularza, który pokazuje 10 najdroższych produktów.
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _
& "AS TenMostExpensiveProducts, " _
& "Products.UnitPrice " _
& "FROM Products " _
& "ORDER BY Products.[UnitPrice] DESC;"
Me.RecordSource = strGetSQL