DAvg-funktio

Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

TKeskiarvo-funktiolla voit laskea määritetyn tietuejoukon (ryhmän) arvojoukon keskiarvon. Käytä DAvg-funktiota Visual Basic for Applications (VBA) -moduulissa, makrossa, kyselylausekkeessa tai lasketussa ohjausobjektissa.

Voit esimerkiksi käyttää DAvg- funktiota tietyn rahtikulukyselyn ehtorivillä rajoittamaan niiden tietueiden tuloksia, joiden rahtikulut ylittävät keskiarvon. Tai voit käyttää DAvg-funktion sisältävää lauseketta lasketussa ohjausobjektissa tai näyttää sen avulla edellisten tilausten keskiarvon uuden tilauksen arvon vieressä.

Syntaksi

DAvg(lauseke; ryhmä [, ehdot] )

DAvg-funktion syntaksilla on seuraavat argumentit:

Argumentti Kuvaus
lauseke Pakollinen. Lauseke, joka määrittää kentän, jonka numeeriset tiedot haluat laskea yhteen. Se voi olla merkkijonolauseke, joka määrittää taulukon tai kyselyn kentän, tai se voi olla lauseke, joka suorittaa laskutoimituksen kyseisen kentän tiedoilla. Lausekkeeseen voi sisällyttää taulukon kentän, lomakkeen ohjausobjektin, vakion tai funktion nimen. Jos lauseke sisältää funktion, se voi olla joko valmis tai käyttäjän määrittämä funktio, mutta ei toinen ryhmäkoostefunktio eikä SQL-koostefunktio.
ryhmä Pakollinen. Merkkijonolauseke, joka määrittää ryhmän muodostavan tietuejoukon. Kyseessä voi olla taulukon nimi tai sellaisen kyselyn nimi, joka ei vaadi parametria.
ehto Valinnainen. Merkkijonolauseke, jonka avulla rajoitetaan niiden tietojen aluetta , joihin DAvg-funktiota käytetään. Esimerkiksi ehdot vastaavat usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos ehto jätetään pois, DAvg-funktio arvioi lausekkeen arvon koko ryhmän perusteella. Kentän, joka sisältyy ehtoihin , on oltava myös toimialueen kenttä; Muussa tapauksessa TKeskiarvo-funktio palauttaa tyhjäarvon.

    

Huomautuksia

Tietueita, jotka sisältävät Tyhjä-arvoja, ei oteta mukaan keskiarvon laskentaan.

Riippumatta siitä, käytätkö DAvg-funktiota makrossa, moduulissa, kyselylausekkeessa vai lasketussa ohjausobjektissa, sinun on muodostettava ehtoargumentti huolellisesti, jotta se arvioidaan oikein.

Voit käyttää DAvg-funktiota määrittämään ehdot kyselyn Ehdot-rivillä. Oletetaan esimerkiksi, että haluat tarkastella niiden tuotteiden luetteloa, joiden tilausten määrä ylittää keskimääräisen tilausmäärän. Voit luoda kyselyn Tilaukset-, Tilaustiedot- ja Tuotteet-taulukoissa, ja sisällyttää Tuotenimi-kentän ja Määrä-kentän seuraavalla lausekkeella Ehdot-rivillä Määrä-kentän alapuolelle:

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

DAvg-funktiota voidaan käyttää myös kyselyn lasketun kentän lausekkeessa tai päivityskyselyn Päivitä-rivillä.

Huomautus

Voit käyttää joko DAvg- tai Avg-funktiota summakyselyn lasketun kentän lausekkeessa. Jos käytät DAvg-funktiota, lasketaan arvojen keskiarvo ennen tietojen ryhmittämistä. Jos käytät Avg-funktiota, tiedot ryhmitetään ennen kentän lausekkeen arvojen keskiarvon laskemista.

Käytä DAvg-funktiota lasketussa ohjausobjektissa, kun haluat määrittää ehdot, joiden perusteella rajataan DAvg-funktion suorittamisessa käytettävä tietoalue. Voit esimerkiksi näyttää Kaliforniaan toimitettavien tilausten rahtikulujen keskiarvon asettamalla tekstiruudun ControlSource-ominaisuudeksi seuraavan lausekkeen:

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

Jos haluat vain laskea ryhmän kaikkien tietueiden keskiarvon , käytäAvg-funktiota .

Voit käyttää DAvg-funktiota moduulissa tai makrossa tai lasketussa ohjausobjektissa lomakkeessa, jos näytettävää kenttää ei ole lomakkeen perustana olevassa tietuelähteessä. Oletetaan esimerkiksi, että sinulla on Tilaukset-taulukkoon perustuva lomake ja haluat sisällyttää Tilaustiedot-taulukon Määrä-kentän tietyn asiakkaan tilaamien tuotteiden keskimäärän näyttämiseksi. Voit käyttää DAvg-funktiota suorittamaan tämän laskutoimituksen ja näyttämään lomakkeen tiedot.

Vinkkejä

  • Jos käytät DAvg-funktiota lasketussa ohjausobjektissa, haluat ehkä sijoittaa ohjausobjektin lomakkeen ylä- tai alatunnisteeseen siten, että tämän ohjausobjektin arvoa ei lasketa uudelleen aina, kun siirryt uuteen tietueeseen.
  • Jos kentän , josta funktion lauseke on peräisin, tietotyyppi on luku, TKeskiarvo-funktio palauttaa Double-tietotyypin . Jos käytät DAvg-funktiota lasketussa ohjausobjektissa, sisällytä lausekkeeseen tietotyypin muuntofunktio suorituskyvyn parantamiseksi.
  • Vaikka voit määrittää viitetaulukon kentän arvojen keskiarvon TKeskiarvo-funktiolla , voi olla tehokkaampaa luoda kysely, joka sisältää kaikki tarvitsemasi kentät, ja käyttää lomakkeen tai raportin pohjana sitten tätä kyselyä.

Huomautus

Toimialueen tietueiden tallentamattomia muutoksia ei oteta mukaan käytettäessä tätä funktiota. Jos haluat, että DAvg-funktio perustuu muuttuneisiin arvoihin, muutokset on ensin tallennettava napsauttamalla Tallenna tietueTiedot-välilehden Tietueet-kohdassa, siirtämällä kohdistus toiseen tietueeseen tai käyttämällä Päivitä-menetelmää.

Esimerkki

Huomautus

Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

Seuraava funktio palauttaa rahtikulujen keskiarvon tilauksille, jotka on toimitettu tiettynä päivämääränä tai sen jälkeen. domain-argumentti on Tilaukset-taulukko. Ehto-argumentti rajoittaa tuloksena saatavaa tietuejoukkoa annetun maan tai alueen ja lähetyspäivän perusteella. Huomaa, että avainsana AND sisältyy merkkijonoon erottamaan useiden kenttien erottimet ehtoargumentissa . DAvg-funktion laskentaan sisältyvillä kaikilla tietueilla on kummatkin ehdot.

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

Voit kutsua funktion käyttämällä seuraavaa koodia välittömässä suoritusruudussa:

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