Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Za pomocą funkcji DAvg można obliczyć średnią zbioru wartości w określonym zestawie rekordów ( domena ). Funkcji DAvg należy używać w module Visual Basic for Applications (VBA), w makro, w wyrażeniu zapytania lub w kontrolka obliczeniowa.

Można na przykład użyć funkcji DAvg w wierszu kryteriów zapytania wybierającego dla kosztów frachtu, aby ograniczyć wyniki do tych rekordów, w których koszt frachtu przekracza średnią. Możesz też użyć wyrażenia zawierającego funkcję DAvg w kontrolce obliczeniowej i wyświetlić średnią wartość poprzednich zamówień obok wartości nowej kolejności.

Składnia

DAvg ( wyr ., domena [, kryteria] )

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

Argument

Opis

wyrażenie

Argument wymagany. Wyrażenie identyfikujące pole zawierające dane liczbowe, które mają zostać uśrednione. Może to być wyrażenie tekstowe identyfikujące konkretne pole w tabeli lub zapytaniu albo wyrażenie wykonujące obliczenia na danych w tym polu. W programie expr można dołączyć nazwę pola w tabeli, kontrolkę w formularzu, stałą lub funkcję. Jeśli wyrażenie zawiera funkcję, może to być funkcja wbudowana lub zdefiniowana przez użytkownika, ale z wyłączeniem funkcji agregującej domeny i funkcji agregującej języka SQL.

domena

Argument wymagany. Wyrażenie tekstowe identyfikujące zestaw rekordów stanowiący domenę. Może to być nazwa tabeli lub nazwa zapytania, o ile to zapytanie nie wymaga parametru.

kryteria

Argument opcjonalny. Wyrażenie ciągu służące do ograniczania zakresu danych, dla którego wykonywana jest funkcja D Avg. Na przykład kryteria są często równoważne klauzuli WHERE w wyrażeniu SQL bez wyrazu WHERE. Jeśli argument kryteria zostanie pominięty, funkcja DAvgoceni wyrażenie względem całej domeny. Każde pole zawarte w criteria musi być również polem w domenie; W przeciwnym razie funkcja DAvg zwraca wartość Null.

Spostrzeżenia

Rekordy zawierające wartości Null nie są uwzględniane w obliczeniach średniej.

Niezależnie od tego, czy używasz funkcji DAvg w makrze lub module, w wyrażeniu zapytania, czy w kontrolce obliczeniowej, musisz starannie skonstruować argument kryteria , aby upewnić się, że zostanie on poprawnie oceniony.

Za pomocą funkcji DAvg można określić kryteria w wierszu Kryteria zapytania. Załóżmy na przykład, że chcesz wyświetlić listę wszystkich produktów zamówionych w ilości powyżej średniej liczby zamówień. Możesz utworzyć zapytanie w tabelach Zamówienia, Szczegóły zamówień i Produkty oraz dołączyć pole Nazwa produktu i pole Ilość, a w wierszu Kryteria poniżej pola Ilość w wierszu Kryteria wpisz następujące wyrażenie:

>DAvg("[Quantity]", "Orders")

Funkcji DAvg można także użyć w wyrażeniu pola obliczeniowego w zapytaniu lub w wierszu Aktualizacja do zapytanie aktualizujące.

Uwaga: Funkcji DAvg lub Avg można użyć w wyrażeniu pola obliczeniowego w zapytanie podsumowujące. Jeśli używasz funkcji DAvg , wartości są uśredniane przed zgrupowaniem danych. Jeśli używasz funkcji Avg , dane są grupowane przed wartościami w wyrażeniu pola są uśredniane.

Funkcji DAvg należy używać w kontrolce obliczeniowej, gdy trzeba określić kryteria ograniczające zakres danych, dla którego wykonywana jest funkcja DAvg . Aby na przykład wyświetlić średni koszt frachtu dla przesyłek wysłanych do Kalifornii, ustaw właściwość ŹródłoKontrolki pola tekstowego na następujące wyrażenie:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Jeśli chcesz po prostu obliczyć średnią wszystkich rekordów w domenie, użyj funkcji Avg .

Funkcji DAvg można używać w module lub makrze albo w kontrolce obliczeniowej w formularzu, jeśli pole, które ma zostać wyświetlone, nie znajduje się w źródle rekordów, na którym jest oparty formularz. Załóżmy na przykład, że masz formularz oparty na tabeli Zamówienia i chcesz dołączyć pole Ilość z tabeli Szczegóły zamówień, aby wyświetlić średnią liczbę elementów zamówionych przez określonego klienta. Za pomocą funkcji DAvg można wykonać to obliczenie i wyświetlić dane w formularzu.

Porady

  • Jeśli używasz funkcji DAvg w kontrolce obliczeniowej, warto umieścić kontrolkę w nagłówku lub stopce formularza, aby wartość tej kontrolki nie była ponownie obliczana po każdym przejściu do nowego rekordu.

  • Jeśli typ danych pola, z którego pochodzi wyrażenie, jest liczbą, funkcja DAvg zwraca typ danych Double. Jeśli używasz funkcji DAvg w kontrolce obliczeniowej, uwzględnij w wyrażeniu funkcję konwersji typu danych, aby zwiększyć wydajność.

  • Chociaż za pomocą funkcji DAvg można określić średnią wartości w polu w tabela obca, bardziej efektywne może być utworzenie zapytania zawierającego wszystkie potrzebne pola, a następnie oparcie formularza lub raportu na tym zapytaniu.

Uwaga: Niezapisane zmiany rekordów w domenie nie są uwzględniane podczas korzystania z tej funkcji. Jeśli chcesz, aby funkcja DAvg była oparta na zmienionych wartościach, należy najpierw zapisać zmiany, klikając pozycję Zapisz rekord w obszarze Rekordy na karcie Dane , przenosząc fokus do innego rekordu lub używając metody aktualizacji .

Przykład

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

Poniższa funkcja zwraca średni koszt frachtu dla zamówień wysłanych w określonym dniu lub później. Domena to tabela Zamówienia. Argument kryteria ogranicza wynikowy zestaw rekordów na podstawie danego kraju/regionu i daty wysyłki. Należy pamiętać, że słowo kluczowe ORAZ jest zawarte w ciągu oddzielania wielu pól w argumacie kryteria . Wszystkie rekordy uwzględnione w obliczeniach funkcji DAvg będą miały oba te kryteria.

Public Function AvgFreightCost _    (ByVal strCountryRegion As String, _     ByVal dteShipDate As Date) As Double    AvgFreightCost = DAvg("[Freight]", "Orders", _        "[ShipCountryRegion] = '" & strCountryRegion & _        "'AND [ShippedDate] >= #" & dteShipDate & "#")End Function

Aby wywołać funkcję, w oknie bezpośrednim użyj następującego wiersza kodu:

:AvgFreightCost "UK", #1/1/96#

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.