U kunt de eigenschap TopValues gebruiken om een bepaald aantal records of percentage records te retourneren dat aan de door u opgegeven criteria voldoet. Zo kunt u bijvoorbeeld de tien hoogste waarden of de bovenste 25 procent van alle waarden in een veld laten retourneren.
Opmerking: De eigenschap TopValues is alleen van toepassing op toevoegquery's, tabelmaakquery's en selectiequery's.
Instelling
De eigenschap TopValues is een geheel getal dat het exacte aantal te retourneren waarden vertegenwoordigt of een getal gevolgd door een procentteken (%) Het percentage records dat moet worden terug gekeken. Als u bijvoorbeeld de tien hoogste waarden wilt retourneren, stelt u de eigenschap TopValues in op 10. als u de bovenste 10 procent van de waarden wilt retourneren, stelt u de eigenschap TopValues in op 10%.
U kunt deze eigenschap niet rechtstreeks in code instellen. De eigenschap wordt ingesteld in de SQL-weergave van het queryvenster door middel van de component TOP n of TOP n PERCENT in de SQL-instructie.
U kunt de eigenschap TopValues ook instellen met behulp van het eigenschappenvenster van de query of in het vak Top-waarden onder Hulpmiddelen op het tabblad Ontwerp.
Opmerking: De eigenschap TopValues in het eigenschappenvenster van de query en op het tabblad Ontwerp is een keuzelijst met invoervak die een lijst met waarden en percentages bevat. U kunt een van deze waarden selecteren, maar u kunt ook een geldige instelling in het vak typen.
Opmerkingen
Meestal gebruikt u de eigenschap TopValues samen met gesorteerde velden. Het veld waar u de hoogste waarden voor wilt weergeven, moet het meest linkse veld zijn waarin het vak Sorteren is geselecteerd in het queryontwerpraster. Als u oplopende volgorde sorteert, worden de records onderaan als het laagst en bij aflopend sorteren de bovenste records als gegevens worden gesorteerd. Als u opgeeft dat een bepaald aantal records moet worden geretourneerd, worden ook alle records geretourneerd met waarden die overeenkomen met de waarde in de laatste record.
Stel dat bij een groep werknemers de volgende verkooptotalen horen.
Verkoop |
Verkoper |
90.000 |
Van Dorssen |
80.000 |
Westerink |
70.000 |
De Crom |
70.000 |
Van Groesen |
60.000 |
Veenhuizen |
50.000 |
Van Eeuwijk |
Als u de eigenschap TopValues instelt op 3 met aflopend sorteren voor het veld Verkoop, retourneert Microsoft Office Access 2007 de volgende vier records.
Verkoop |
Verkoper |
90.000 |
Van Dorssen |
80.000 |
Westerink |
70.000 |
De Crom |
70.000 |
Van Groesen |
Opmerking: Als u de bovenste of onderste waarden wilt retourneren zonder dubbele waarden weer te geven, stelt u de eigenschap UniqueValues in het eigenschappenvenster van de query in op Ja.
Voorbeeld
In het volgende voorbeeld wordt een SQL-tekenreeks die de tien duurste producten retourneert, toegewezen aan de eigenschap RecordSource voor een formulier waarin de tien duurste producten worden weergegeven.
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _
& "AS TenMostExpensiveProducts, " _
& "Products.UnitPrice " _
& "FROM Products " _
& "ORDER BY Products.[UnitPrice] DESC;"
Me.RecordSource = strGetSQL