Funcția DAvg

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Puteți utiliza funcția DAvg pentru a calcula media unui set de valori dintr-un set specificat de înregistrări (un domeniu). Utilizați funcția DAvg într-un modul Visual Basic for Applications (VBA), într-o macrocomandă, într-o expresie de interogare sau într-un control calculat.

De exemplu, puteți utiliza funcția DAvg în rândul de criterii dintr-o interogare de selectare privind costul transportului pentru a restrânge rezultatele la înregistrările unde costul transportului depășește media. Sau puteți să utilizați o expresie care include funcția DAvg într-un control calculat și să afișați valoarea medie a comenzilor anterioare lângă valoarea unei comenzi noi.

Sintaxă

DAvg(expr, domeniu [, criterii] )

Sintaxa funcției DAvg are următoarele argumente:

Argument Descriere
expr Obligatoriu. O expresie care identifică câmpul care conține datele numerice pentru care doriți să faceți media. Aceasta poate fi o expresie șir care identifică un câmp dintr-un tabel sau interogare sau poate fi o expresie care efectuează un calcul pe baza datelor din acel câmp. In expr, puteți include numele unui câmp dintr-un tabel, un control dintr-un formular, o constantă sau o funcție. Dacă expr include o funcție, aceasta poate fi predefinită sau definită de utilizator, dar nu un alt agregat de domeniu sau funcție agregată SQL.
domeniu Obligatoriu. O expresie șir care identifică setul de înregistrări ce constituie domeniul. Poate fi un nume de tabel sau un nume de interogare pentru o interogare care nu necesită un parametru.
criterii Opțional. O expresie șir utilizată pentru a restricționa zona de date pe care se aplică funcția DAvg . De exemplu, criterii adesea este echivalentă cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. Dacă criterii este omis, funcția DAvg evaluează expr față de întregul domeniu. Orice câmp care este inclus în criterii trebuie să fie, de asemenea, un câmp în domeniu; altfel, funcția DAvg returnează un Nul.

    

Observații

Înregistrările care conțin valori nule nu sunt incluse în calculul mediei.

Indiferent dacă utilizați funcția DAvg într-o macrocomandă sau un modul, într-o expresie de interogare sau într-un control calculat, trebuie să construiți cu atenție argumentul criterii , pentru a vă asigura că acesta va fi evaluat corect.

Puteți utiliza funcția DAvg pentru a specifica criteriile în rândul Criterii dintr-o interogare. De exemplu, să presupunem că doriți să vizualizați o listă cu toate produsele comandate în cantități peste cantitatea medie din comandă. Puteți să creați o interogare în tabelele Comenzi, Detalii comenzi și Produse și să includeți câmpul Nume produs și câmpul Cantitate cu următoarea expresie în rândul Criterii de sub câmpul Cantitate:

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

De asemenea, puteți utiliza funcția DAvg într-o expresie de câmp calculat într-o interogare sau în rândul Actualizare la dintr-o interogare de actualizare.

Notă

Puteți utiliza funcția DAvg sau Avg într-o expresie de câmp calculat dintr-o interogare de totaluri. Dacă utilizați funcția DAvg , valorile se mediază înainte de gruparea datelor. Dacă utilizați funcția Avg , datele sunt grupate înainte de a se face media valorilor din expresia câmp.

Utilizați funcția DAvg într-un control calculat atunci când trebuie să specificați criterii pentru a restricționa zona de date pe care se aplică funcția DAvg . De exemplu, pentru a afișa costul mediu al transportului pentru expedierile trimise în California, setați proprietatea Sursă control a unei casete text la următoarea expresie:

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

Dacă doriți pur și simplu să faceți media tuturor înregistrărilor din domeniu, utilizați funcția Avg .

Puteți utiliza funcția DAvg într-un modul sau o macrocomandă sau într-un control calculat dintr-un formular, dacă un câmp pe care trebuie să îl afișați nu se află în sursa de înregistrări pe care se bazează formularul. De exemplu, să presupunem că aveți un formular bazat pe tabelul Comenzi și doriți să includeți câmpul Cantitate din tabelul Detalii comenzi pentru a afișa numărul mediu de articole comandate de un anumit client. Se poate utiliza funcția DAvg pentru a efectua acest calcul și a afișa datele în formular.

Sfaturi

  • Dacă utilizați funcția DAvg într-un control calculat, se recomandă să plasați controlul în antetul sau subsolul formularului, astfel încât valoarea pentru acest control să nu fie recalculată de fiecare dată când treceți la o înregistrare nouă.
  • Dacă tipul de date al câmpului din care se derivă expr este un număr, funcția DAvg returnează un tip de date Double. Dacă utilizați funcția DAvg într-un control calculat, includeți o funcție de conversie a tipului de date în expresie pentru a îmbunătăți performanța.
  • Deși puteți utiliza funcția DAvg pentru a determina media valorilor dintr-un câmp dintr-un tabel cu cheie străină, poate fi mai eficient să creați o interogare care conține toate câmpurile de care aveți nevoie, apoi să bazați formularul sau raportul pe acea interogare.

Notă

Modificările nesalvate la înregistrările din domeniu nu sunt incluse atunci când utilizați această funcție. Dacă doriți ca funcția DAvg să se bazeze pe valorile modificate, trebuie să salvați mai întâi modificările făcând clic pe Salvare înregistrare sub Înregistrări în fila Date , mutând focalizarea la altă înregistrare sau utilizând metoda de actualizare .

Exemplu

Notă

Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.

Următoarea funcție returnează costul mediu de transport pentru comenzile expediate la o dată dată sau după aceasta. Domeniul este un tabel Comenzi. Argumentul criterii restricționează setul rezultat de înregistrări pe baza țării/regiunii date și a datei de expediere. Rețineți că cuvântul cheie AND este inclus în șir pentru a separa câmpurile multiple din argumentul criterii . Toate înregistrările incluse în calculul funcției DAvg vor avea ambele criterii.

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

Pentru a apela funcția, utilizați următoarea linie de cod în fereastra Instantanee:

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