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

Käyttämällä DAvg-funktiota voit laskea määritetyn tietuejoukon (ryhmä) arvojoukon keskiarvon. Käytä DAvg-funktiota Visual Basic for Applications (VBA) -moduulissa, makrossa, kyselyn lausekkeessa tai laskettu 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 ( expr , domain [, criteria] )

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 taulukon tai kyselyn kentän määrittävä merkkijonolauseke, tai se voi olla kentän tietojen laskennan suorittava lauseke. Voit sisällyttää expr-lausekkeeseen taulukon kentän, lomakkeen ohjausobjektin, vakion tai funktion nimen. Jos expr-lauseke sisältää funktion, se voi olla joko valmis tai käyttäjän määrittämä funktio, mutta ei toinen toimialuekoostefunktio tai 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, criteria-lauseke vastaa usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos criteria-lauseke jätetään pois, DAvg-funktio laskee expr-lausekkeen arvon koko toimialueen perusteella. Kentän, joka sisältyy criteria-lausekkeeseen, on oltava myös domain-lausekkeen kenttä; muussa tapauksessa DAvg-funktio palauttaa arvon Tyhjä.

Huomautuksia

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

Huolimatta siitä, käytätkö DAvg-funktiota makrossa tai moduulissa, kyselyn lausekkeessa tai lasketussa ohjausobjektissa, criteria-argumentti on muodostettava huolellisesti sen varmistamiseksi, että sen arvo lasketaan 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")

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

Huomautus: Voit käyttää joko DAvg- tai Avg-funktiota lasketun kentän lausekkeessa summakyselyssa. 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 kaikkien tietueiden keskiarvon domain-lausekkeessa, 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 expr-lauseke on peräisin, tietotyyppi on luku, DAvg-funktio palauttaa Double-tietotyypin. Jos käytät DAvg-funktiota lasketussa ohjausobjektissa, sisällytä lausekkeeseen tietotyypin muuntofunktio suorituskyvyn parantamiseksi.

  • Vaikka voit käyttää DAvg-funktiota määrittämään arvojen keskiarvon viitetaulukkon kentässä, voi olla tehokkaampaa luoda kysely, joka sisältää kaikki tarvittavat kentät, ja käyttää sitten lomakkeen tai kyselyn perustana tätä kyselyä.

Huomautus:  domain -lausekkeen 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. criteria-argumentti rajoittaa tuloksena saatavan tietuejoukon tietyn maan/alueen ja toimituspäivän mukaan. Huomaa, että merkkijonoon sisällytetään avainsana JA useiden kenttien erottamiseksi criteria-argumentissa. 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#

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.