Funkciju DSum možete koristiti za izračun skupa vrijednosti u određenom skupu zapisa (domena). Funkciju DSum možete koristiti za sljedeća okruženja: modul jezika Visual Basic for Applications (VBA), makronaredba, izraz upita ili izračunata kontrola.
Primjerice, funkciju DSum u izrazu izračunatog polja u upitu možete koristiti za izračun ukupne prodaje koju je ostvario pojedinačni zaposlenik u određenom razdoblju. Funkciju DSum možete koristiti i u kontroli izračuna radi prikaza tekućeg zbroja prodaje pojedinačnog proizvoda.
Sintaksa
DSum ( expr , domain [, criteria] )
Sintaksa funkcije DSum sadrži ove argumente:
Argument |
Opis |
izraz |
Obavezno. Izraz koji određuje brojčano polje čije vrijednosti želite zbrojiti. To može biti nizovni izraz koji određuje polje u tablici ili upitu ili izraz koji izvodi izračun na podacima u tom polju. U argument expr možete uvrstiti naziv polja tablice, kontrolu na obrazac, konstantu ili funkciju. Ako expr uključuje funkciju, ona može biti ili ugrađena ili korisnički definirana, no ne može biti neka druga domenska ili SQL funkcija zbrajanja. |
domain |
Obavezno. Niz koji određuje skup zapisa koji čine domenu. To može biti naziv tablice ili upita za upit koji ne zahtijeva parametar. |
kriteriji |
Neobavezno. Nizovni izraz koji se koristi za ograničenje raspona podataka nad kojim se provodi funkcija DSum. Primjerice, argument criteria često je jednak uvjetu WHERE u SQL izrazu, bez riječi WHERE. Ako je argument criteria izostavljen, funkcija DSum vrednuje argument expr u cijeloj domeni. Svako polje koje je uključeno u argument criteria mora biti i polje u argumentu domain; u suprotnom funkcija DSum vraća vrijednost Null. |
Napomene
Ako nema zapisa koji zadovoljavaju argument criteria ili ako domena ne sadrži zapise, funkcija DSum vraća vrijednost Null.
Bez obzira na to koristite li funkciju DSum u makronaredbi, modulu, izrazu upita ili kontroli izračuna, argument criteria morate pažljivo izraditi kako bi se ispravno vrednovao.
Funkciju DSum možete koristiti za određivanje kriterija u retku Kriterij u upitu, u polju izračuna u izrazu upita ili u retku Ažuriraj u stavci upit za ažuriranje.
Napomena: U izrazu izračunatog polja u stavci upit ukupnih zbrojeva možete koristiti ili funkciju DSum ili Sum. Ako koristite funkciju DSum, vrijednosti se računaju prije grupiranja podataka. Ako koristite funkciju Sum, podaci se grupiraju prije vrednovanja vrijednosti u izrazu polja.
Funkciju DSum koristit ćete i za prikaz zbroja skupa vrijednosti iz polja koje se ne nalazi u izvoru zapisa obrasca ili izvješća. Pretpostavimo, na primjer, da imate obrazac koji prikazuje podatke o određenom proizvodu. Funkciju DSum možete koristiti da biste održavali tekući zbroj prodaje proizvoda u kontroli izračuna.
savjet
Ako morate održavati tekući zbroj u kontroli na izvješću i ako je polje na kojem se on temelji uključeno u izvor podataka za izvješće, možete koristiti svojstvo RuningSum te kontrole. Funkciju DSum koristite za održavanje tekućeg zbroja na obrascu.
Napomena: Promjene na zapisima u argumentu domain koje nisu spremljene nisu uključene prilikom korištenja te funkcije. Ako želite da se funkcija DSum temelji na promijenjenim vrijednostima, najprije morate spremiti promjene tako da ili na kartici Polazno u grupi Zapisi kliknete Spremi zapis premještajući tako žarište na drugi zapis ili pomoću metode ažuriranja.
Primjeri
Korištenje funkcije DSum u izrazu Možete koristiti funkciju domene (kao što je DSum) u retku Ažuriraj upita s ažuriranjem. Pretpostavimo, na primjer, da želite pratiti trenutnu prodaju po proizvodu u tablici Proizvodi. U tablicu Proizvodi možete dodati novo polje naziva DosadašnjaProdaja i pokrenuti upit s ažuriranjem radi izračuna ispravnih vrijednosti i ažuriranja zapisa. Da biste to učinili, stvorite novi upit temeljen na tablici Proizvodi pa na kartici Dizajn u grupi Vrsta upita kliknite Ažuriraj. U rešetku upita dodajte polje DosadašnjaProdaja i u redak Ažuriraj upišite sljedeće:
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])
Kada pokrenete upit, Access izračunava ukupnu količinu prodaje za svaki proizvod na temelju informacija iz tablice Detalji narudžbe. Zbroj prodaje za svaki proizvod dodaje se u tablicu Proizvodi.
Korištenje funkcije DSum u kodu programskog jezika VBA
Napomena: Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.
U sljedećem se primjeru zbrajaju vrijednosti iz polja Vozarina za narudžbe koje se otpremaju u Veliku Britaniju. Domena je tablica Narudžbe. Argument criteria ograničava rezultantni skup zapisa na one kojima PodručjeDržavaOtpreme odgovara Velikoj Britaniji.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
U sljedećem se primjeru izračunava ukupna vrijednost pomoću dvaju odvojenih kriterija. Imajte na umu da su jednostruki navodnici (') i brojčani znakovi (#) uključeni u niz tako da je, u slučaju da je niz ulančan, slovni niz zatvoren u jednostruke navodnike, a datum u znakove funte.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK' AND _ [ShippedDate] > #1-1-95#")