Käyttämällä Dsum-funktiota voit laskea määritetyn tietuejoukon (ryhmä) arvojoukon summan. Käytä Dsum-funktiota Visual Basic for Applications (VBA) -moduulissa, makro, kyselyn lausekkeessa tai laskettu ohjausobjektissa.
Käyttämällä DSum-funktiota esimerkiksi kyselyn lasketun kentän lausekkeessa voit laskea tietyn työntekijän kokonaismyynnin tiettynä aikana. Käyttämällä DSum-funktiota lasketussa ohjausobjektissa voit näyttää tietyn tuotteen myynnin kertymän.
Syntaksi
Dsum ( lauseke , ryhmä[, ehdot])
DSum-funktion syntaksilla on seuraavat argumentit:
Argumentti |
Kuvaus |
lauseke |
Pakollinen. Lauseke, joka määrittää numeerisen kentän, jonka arvot haluat laskea yhteen. Lauseke voi olla taulukon tai kyselyn kentän määrittävä merkkijonolauseke, tai se voi olla kentän tietojen laskennan suorittava lauseke. Lauseke voi sisältää 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 DSum-funktiota käytetään. Esimerkiksi ehdot vastaa usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos ehdot jätetään pois, Dsum-funktio arvioi lausekkeen arvon koko ryhmän perusteella. Kentän, joka sisältyy ehtoihin, on oltava myös ryhmän kenttä; muussa tapauksessa Dsum-funktio palauttaa Null-arvon. |
Huomautuksia
Jos mikään tietue ei täytä ehdot-argumenttia tai jos ryhmä ei sisällä tietueita, Dsum-funktio palauttaa Null-arvon.
Huolimatta siitä, käytätkö Dsum-funktiota makrossa, moduulissa, kyselyn lausekkeessa vai lasketussa ohjausobjektissa, varmista ehdot-argumentin arvon oikea laskenta muodostamalla argumentti huolellisesti.
Käyttämällä DSum-funktiota voit määrittää ehtoja kyselyn Ehdot-riville, kyselyn lausekkeen lasketulle kentälle tai Päivitä-riville päivityskyselyssä.
Huomautus: summakyselyn lasketun kentän lausekkeessa voidaan käyttää joko Dsum- tai Summa-funktiota. Jos käytät DSum-funktiota, arvot lasketaan ennen tietojen ryhmitystä. Jos käytät Summa-funktiota, tiedot ryhmitetään ennen kentän lausekkeen arvojen laskentaa.
Voit käyttää DSum-funktiota esimerkiksi, kun haluat näyttää sellaisen kentän arvojoukon summan, jota ei ole lomakkeen tai raportin tietuelähteessä. Oletetaan esimerkiksi, että sinulla on lomake, joka näyttää tietoja tietystä tuotteesta. DSum-funktion avulla voit ylläpitää tuotteen myynnin kertymää lasketussa ohjausobjektissa.
vihje
Jos kertymää täytyy ylläpitää raportin ohjausobjektissa, voit käyttää ohjausobjektin Kertymä-ominaisuutta, jos kenttä, johon se perustuu, sisältyy raportin tietuelähteeseen. Käyttämällä Dsum-funktiota voit ylläpitää kertymää lomakkeessa.
Huomautus: Ryhmän tietueiden tallentamattomia muutoksia ei oteta mukaan käytettäessä tätä funktiota. Jos haluat, että DSum-funktio perustuu muuttuneisiin arvoihin, tallenna ensin muutokset valitsemalla Aloitus-välilehden Tietueet-ryhmässä Tallenna tietue, jolloin kohdistus siirtyy toiseen tietueeseen, tai käyttämällä Update-menetelmää.
Esimerkkejä
Dsum-funktion käyttäminen lausekkeessa Voit käyttää ryhmäfunktiota (kuten Dsum) päivityskyselyn Päivitä-rivillä. Oletetaan esimerkiksi, että haluat seurata myyntiä tuotteittain Tuotteet-taulukossa. Voit lisätä Tuotteet-taulukkoon uuden kentän, jonka nimi on MyyntiTähänMennessä, sekä laskea oikeat arvot ja päivittää tietueet suorittamalla päivityskyselyn. Luo tätä varten Tuotteet-taulukkoon perustuva uusi kysely ja valitse Rakenne-välilehden Kyselyn laji -ryhmässä Päivitä. Lisää MyyntiTähänMennessä-kenttä kyselyn ruudukkoon ja kirjoita Päivitä-riville seuraavat tiedot:
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])
Kun suoritat kyselyn, Access laskee kunkin tuotteen myynnin kokonaissumman Tilaustiedot-taulukon tietojen perusteella. Kunkin tuotteen myynnin summa lisätään Tuotteet-taulukkoon.
Dsum-funktion käyttäminen VBA-koodissa
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.
Seuraavassa esimerkissä Isoon-Britanniaan toimitettujen tilausten Rahti-kentän arvot lasketaan yhteen. Ryhmä on Tilaukset-taulukko. Ehdot-argumentti rajoittaa tuloksena olevan tietuejoukon tietueisiin, joiden kohdalla ToimitusmaaAlue on UK.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
Seuraavassa esimerkissä summa lasketaan käyttämällä kahta erillistä ehtoa. Huomaa, että merkkijonolauseke sisältää puolilainausmerkkejä (') ja ristikkomerkkejä (#), jotta kun merkkijonot ketjutetaan, merkkijonoliteraali on puolilainausmerkkien välissä ja päivämäärä ristikkomerkkien välissä.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK' AND _ [ShippedDate] > #1-1-95#")