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

Partitie(getal, begin, stop, interval)

De syntaxis van de functie Partition bevat deze argumenten:

Argument Beschrijving
Nummer 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. Geheel getal dat de grootte van de partities binnen het totale bereik van getallen (tussen start en stop) aangeeft.

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 met behulp van drie sets begin-, stop- en intervalargumenten. De kolommen Eerste bereik en Laatste bereik bevatten de waarde die Partition als resultaat geeft. De bereiken worden vertegenwoordigd door lowervalue:uppervalue, waarbij het lage uiteinde (onderwaarde) van het bereik wordt gescheiden van het hoge uiteinde (bovenwaarde) van het bereik met 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 bovenstaande tabel geeft de derde regel het resultaat weer wanneer starten en stoppen een set getallen definieert die niet gelijkmatig kunnen worden gedeeld op interval. Het laatste bereik wordt uitgebreid tot stoppen (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 hetzelfde aantal tekens zijn als er tekens in stop zijn, plus één. 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 de begin- en eindargumenten. Als interval bijvoorbeeld 1 is, getal 100 en stop 1000, retourneert Partitie 100: 100.

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

Queryvoorbeelden

Expression Resultaten
SELECT Partition(eenheidsprijs;40.240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productVerkoop GROEP BY Partitie(eenheidsprijs,40.240,20); Hiermee maakt u een reeks bereiken voor de waarden in het veld 'prijs per eenheid' van 'begin'(40) tot 'stop'(240) met een gelijke grootte van 'interval'(20) en wordt het aantal 'eenheidsprijs' in respectieve bereiken berekend. Geeft de bereiken weer in kolom PriceRange en count in kolom 'Count'.

VBA-voorbeeld

In dit voorbeeld wordt ervan uitgegaan dat u een tabel Orders hebt die een veld Vracht bevat. Er wordt een selectieprocedure gemaakt waarmee het aantal orders wordt geteld waarvoor de vrachtkosten in elk van verschillende bereiken vallen. De functie Partition wordt eerst gebruikt om deze bereiken tot stand te brengen. Vervolgens telt de functie SQL Count het aantal orders in elk bereik. In dit voorbeeld zijn de argumenten voor de partitiefunctie start = 0, stop = 500, interval = 50. Het eerste bereik is dus 0:49, enzovoort 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);