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
tal 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 af partitionerne inden for det overordnede talområde (mellem start og stop).

Bemærkninger

Funktionen Partition identificerer det bestemte område, hvori tallet ligger, og returnerer en variant (streng), der beskriver dette område. Funktionen Partition er mest praktisk 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 og så videre.

I følgende tabel vises det, hvordan områderne 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åderne repræsenteres af lavesteværdi:højesteværdi, hvor den lave ende (lavesteværdi) i området er adskilt fra den høje ende (øverstværdi) i området med et kolon (:).

Start 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 den tredje linje i tabellen herover vises resultatet, når start og stop definerer et sæt af tal, der ikke kan divideres lige efter 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 intervallet f.eks. er 1, og tallet er 100, og stop er 1000, returnerer partitionen " 100: 100".

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

Eksempler på forespørgsel

Udtryk Resultater
SELECT Partition(enhedspris,40,240,20) AS Prisområde, tæl(produktsalg.enhedspris) AS Tæl FRA productSales GROUP BY Partition(enhedspris,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 for "interval"(20) og beregner antallet af "enhedspris" i de respektive områder. Viser intervallerne i kolonnen PriceRange og count i kolonnen 'Count'.

VBA-eksempel

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

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