Partition, functie

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Deze functie retourneert een variant (tekenreeks) die aangeeft waar een getal voorkomt in een berekende reeks bereiken.

Syntaxis

Partition(getal, begin, einde, interval)

De syntaxis van de functie Partition bevat deze argumenten:

Argument Beschrijving
getal Vereist. Een geheel getal dat u wilt evalueren op basis van de bereiken.
begin Vereist. Een geheel getal dat het begin aangeeft van het algehele bereik van getallen. Het getal mag niet kleiner zijn dan 0.
einde Vereist. Een geheel getal dat het einde aangeeft van het algehele bereik van getallen. Het getal mag niet gelijk zijn aan of kleiner zijn dan begin.
interval Vereist. Een geheel getal dat de grootte van de partities aangeeft binnen het algehele bereik van getallen (tussen begin en einde).

Opmerkingen

De functie Partition identificeert het specifieke bereik waarin getal valt en retourneert een variant (tekenreeks) die dat bereik beschrijft. De functie Partition is vooral handig in query's. U kunt een selectiequery maken die laat zien hoeveel orders er in verschillende bereiken vallen, bijvoorbeeld orders met aantallen van 1 tot 1000, 1001 tot 2000, enzovoort.

In de volgende tabel ziet u hoe de bereiken worden bepaald aan de hand van drie reeksen start-, stop- en intervalargumenten . De kolommen Eerste bereik en Laatste bereik bevatten de waarde die Partition als resultaat geeft. De bereiken worden voorgesteld door lowervalue:uppervalue, waarbij de lage kant (lowervalue) van het bereik wordt gescheiden van de hoge (uppervalue) van het bereik door een dubbele punt (:).

begin Stoppen interval Voor eerste Eerste bereik Laatste bereik Na laatste
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

In de tabel hierboven bevat de derde regel het resultaat wanneer begin en einde een reeks getallen definiëren die niet evenredig kunnen worden gedeeld door het interval. Het laatste bereik wordt uitgebreid naar het einde (11 getallen), ook al is het interval 20.

Indien nodig retourneert Partition een bereik met voldoende voorloopspaties, zodat er links en rechts van de dubbele punt evenveel tekens staan als er tekens in het begin, plus één, staan. Op deze manier weet u zeker dat bij het gebruik van Partition met andere getallen, de resulterende tekst correct wordt verwerkt tijdens een volgende sorteerbewerking.

Als interval 1 is, is het bereik getal:getal, ongeacht het begin - en eindargument . Als interval bijvoorbeeld 1 is, getal 100 en stop 1000, retourneert Partition " 100: 100".

Als een van de onderdelen Null is, retourneert Partition een Null.

Queryvoorbeelden

Expression Resultaten
SELECT Partition(prijs per eenheid;40;240;20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice;40;240;20); Hiermee wordt een reeks bereiken gemaakt voor de waarden in het veld "prijs per eenheid" van "begin"(40) tot "einde"(240) met gelijke grootte "interval"(20) en wordt het aantal "prijs per eenheid" in de respectieve bereiken berekend. Geeft de bereiken weer in de kolom Prijsbereik en aantal in de kolom 'Aantal'.

VBA-voorbeeld

In dit voorbeeld wordt ervan uitgegaan dat u een tabel Orders hebt met een veld Vrachtkosten. Hiermee wordt een selectieprocedure gemaakt waarmee het aantal orders wordt geteld waarvoor de vrachtkosten in verschillende bereiken vallen. De functie Partition wordt eerst gebruikt om deze bereiken vast te stellen, waarna met de functie SQL Count het aantal orders in elk bereik wordt geteld. In dit voorbeeld zijn de argumenten voor de partitiefunctiebegin = 0, einde = 500 en interval = 50. Het eerste bereik zou daarom 0:49 zijn, en zo verder tot 500.

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);