Funkcja Partition

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Zwraca wartość typu wariant (ciąg) wskazującą, gdzie w obliczonej serii zakresów występuje dana liczba.

Składnia

Partition(liczba, początek, stop, interwał)

W składni funkcji Partycja występują następujące argumenty:

Argumenty argumentów Opis
number Argument wymagany. Liczba całkowita, która ma zostać obliczona w odniesieniu do zakresów.
Ekran startowy Argument wymagany. Liczba całkowita będąca początkiem całego zakresu liczb. Liczba ta nie może być mniejsza od 0.
stop Argument wymagany. Liczba całkowita będąca końcem całego zakresu liczb. Liczba nie może być równa ani mniejsza niż wartość początkowa.
Interwał Argument wymagany. Liczba całkowita określająca rozmiar partycji w ogólnym zakresie liczb (między początkiem a zatrzymaniem).

Uwagi

Funkcja Partition identyfikuje konkretny zakres, w którym mieści się liczba , i zwraca wartość typu Wariant (String) opisującą ten zakres. Funkcja Partition jest najbardziej przydatna w przypadku zapytań. Możesz utworzyć zapytanie wybierające pokazujące liczbę zamówień należących do różnych zakresów, na przykład wartości zamówień od 1 do 1000, od 1001 do 2000 itd.

W poniższej tabeli pokazano, jak zakresy są określane przy użyciu trzech zestawów argumentów start, stop i interwał . Kolumny Pierwszy zakres i Ostatni zakres pokazują, co zwraca partycja . Zakresy są reprezentowane przez argument dolnawartość:górnawartość, gdzie dolna granica (dolna wartość) zakresu jest oddzielona od górnej granicy (górna wartość) zakresu dwukropkiem (:).

Ekran startowy stop Interwał Przed pierwszym Pierwszy zakres Ostatni zakres Po ostatnim
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: "

W powyższej tabeli trzeci wiersz pokazuje wynik, gdy start i stop definiuje zbiór liczb, których nie można równo podzielić przez interwał. Ostatni zakres rozciąga się do pozycji stop (11 liczb), mimo że interwał wynosi 20.

W razie potrzeby funkcja Partition zwraca zakres z wystarczającą ilością spacji początkowych, aby po lewej i prawej stronie dwukropka znajdowała się taka sama liczba znaków, jak liczba znaków w kolumnie stop plus jeden. Dzięki temu w przypadku użycia partycji z innymi liczbami wynikowy tekst będzie poprawnie obsługiwany podczas każdej kolejnej operacji sortowania.

Jeśli interwał wynosi 1, zakres ma wartość liczba:liczba, niezależnie od argumentów start i stop . Jeśli na przykład interwał wynosi 1, liczba 100, a stop 1000, funkcja Partition zwraca wartość " 100: 100".

Jeśli którakolwiek z części ma wartość Null, partycja zwraca wartość Null.

Przykłady kwerend

Wyrażenie Rezultat
SELECT Partition(cenajednostkowa,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); Tworzy zestaw zakresów dla wartości w polu "cenajednostkowa" od "start"(40) do "stop"(240) z równą wielkością "interwał"(20) i oblicza liczbę wartości "cenajednostkowa" w odpowiednich zakresach. Wyświetla zakresy w kolumnie PriceRange i liczbę w kolumnie "Count".

Przykład kodu VBA

W tym przykładzie założono, że tabela Zamówienia zawiera pole Fracht. Tworzy procedurę wyboru, która zlicza zlecenia, dla których koszt frachtu mieści się w każdym z kilku zakresów. Funkcja Partition służy najpierw do ustalenia tych zakresów, a następnie funkcja SQL Count zlicza zamówienia w każdym zakresie. W tym przykładzie argumenty funkcji Partition to: start = 0, stop = 500, interval = 50. Pierwszy zakres będzie zatem wynosił 0:49 i tak dalej, aż do 500.

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