Funktionen Partition

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerer en Variant (streng), der angiver, hvor tallet forekommer i en beregnet serie af områder.

Syntaks

Partition(tal;start;stop;interval)

Syntaksen for funktionen Partition har disse argumenter:

Argument Beskrivelse
Antallet Obligatorisk. Helt tal, som du vil evaluere mod områderne.
start Obligatorisk. Helt tal, som er starten af det overordnede talområde. Tallet må ikke være mindre end 0.
stop Obligatorisk. Helt tal, som er slutningen på det overordnede talområde. Tallet må ikke være lig med eller mindre end start.
interval Påkrævet. Helt tal, der angiver størrelsen på partitionerne inden for det overordnede talområde (mellem start og stop).

Bemærkninger

Funktionen Partition identificerer det bestemte område, hvor tal falder, og returnerer en variant (streng), der beskriver det pågældende område. Funktionen Partition er mest nyttig i forespørgsler. Du kan oprette en udvælgelsesforespørgsel, der viser, hvor mange ordrer der falder inden for forskellige områder, f.eks. ordreværdier fra 1 til 1000, 1001 til 2000 osv.

Følgende tabel viser, hvordan områder bestemmes ved hjælp af tre sæt start-, stop- og intervalargumenter . Kolonnerne Første område og Sidste område viser, hvad Partition returnerer. Området repræsenteres af lavesteværdi:højesteværdi, hvor den lave ende (laveste værdi) i området er adskilt fra den høje ende (øvre værdi) i området med et kolon (:).

Starte Stop interval Før første Første område Sidste område Efter sidste
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: "

I tabellen ovenfor viser den tredje linje resultatet, når start og stop definerer et sæt tal, der ikke kan divideres jævnt med interval. Det sidste område udvides til stop (11 tal), selvom intervallet er 20.

Hvis det er nødvendigt, returnerer Partition et område med tilstrækkeligt mange foranstillede mellemrum, så der er det samme antal tegn til venstre og højre for kolonet, som der er tegn i stop, plus ét. Det sikrer, at hvis du bruger Partition med andre tal, så håndteres den resulterende tekst korrekt under alle efterfølgende sorteringshandlinger.

Hvis interval er 1, er området tal:tal, uanset start - og stopargumenterne . Hvis f.eks. interval er 1, tal er 100 og stop er 1000, returnerer Partition " 100: 100".

Hvis en af delene er Null, returnerer Partition en Null-værdi.

Forespørgselseksempler

Udtryk Resultater
SELECT Partition(enhedspris;40;240;20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); Opretter et sæt områder for værdierne i feltet "enhedspris" fra "start"(40) til "stop"(240) med samme størrelse som "interval"(20) og beregner antallet af "enhedspris" i de respektive områder. Viser intervallerne i kolonnen PriceRange og antal i kolonnen 'Tæl'.

VBA-eksempel

I dette eksempel antages det, at du har tabellen Ordrer, der indeholder feltet Fragt. Den opretter en udvælgelsesprocedure, der tæller antallet af ordrer, hvor fragtomkostningerne falder inden for hvert af flere områder. Funktionen Partition bruges først til at etablere disse områder, og derefter tæller funktionen SQL Count antallet af ordrer i hvert område. I dette eksempel er argumenterne til funktionen Partitionstart = 0, stop = 500, interval = 50. Det første interval ville derfor være 0:49 osv.

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