Puteți utiliza funcția DSum pentru a calcula suma unui set de valori dintr-un set specificat de înregistrări (un domeniu ). Utilizați funcția DSum într-un modul Visual Basic for Applications (VBA), un macrocomandă, o expresie de interogare sau un control calculat.
De exemplu, puteți utiliza funcția DSum într-o expresie de câmp calculat într-o interogare pentru a calcula totalul vânzărilor efectuate de un anumit angajat într-o perioadă de timp. Sau puteți utiliza funcția DSum într-un control calculat pentru a afișa o sumă parțială de vânzări pentru un anumit produs.
Sintaxă
DSum ( expresie , domeniu [, criterii] )
Sintaxa funcției DSum are următoarele argumente:
Argument |
Descriere |
expr |
Obligatoriu. O expresie care identifică câmpul numeric ale cărui valori doriți să le totalizați. 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. În expr puteți include numele unui câmp într-un tabel, un control pe 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 efectuează funcția DSum . De exemplu, criterii adesea este echivalentă cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. Dacă se omit criterii , funcția DSum 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 DSum returnează un Null. |
Observații
Dacă nicio înregistrare nu satisface argumentul criterii sau dacă domeniul nu conține nicio înregistrare, funcția DSum returnează un Null.
Indiferent dacă utilizați funcția DSum într-o macrocomandă, un modul, o expresie de interogare sau un control calculat, trebuie să construiți cu atenție argumentul criterii pentru a vă asigura că va fi evaluat corect.
Puteți utiliza funcția DSum pentru a specifica criterii în rândul Criterii al unei interogări, într-un câmp calculat dintr-o expresie de interogare sau în rândul Actualizare la al unui interogare de actualizare.
Notă: Puteți utiliza funcția DSum sau Sum într-o expresie de câmp calculat într-o interogare de totaluri. Dacă utilizați funcția DSum , valorile sunt calculate înainte de gruparea datelor. Dacă utilizați funcția Sum , datele sunt grupate înainte de evaluarea valorilor din expresia câmpului.
Se recomandă să utilizați funcția DSum atunci când trebuie să afișați suma unui set de valori dintr-un câmp care nu se află în sursa de înregistrări pentru formular sau raport. De exemplu, să presupunem că aveți un formular care afișează informații despre un anumit produs. Puteți utiliza funcția DSum pentru a menține un total parțial al vânzărilor acelui produs într-un control calculat.
sfat
Dacă trebuie să păstrați un total parțial într-un control dintr-un raport, puteți utiliza proprietatea RunningSum a acelui control, în cazul în care câmpul pe care se bazează este inclus în sursa de înregistrări a raportului. Utilizați funcția DSum pentru a menține o sumă parțială într-un formular.
Notă: Modificările nesalvate ale înregistrărilor din domeniu nu sunt incluse atunci când utilizați această funcție. Dacă doriți ca funcția DSum să se bazeze pe valorile modificate, trebuie mai întâi să salvați modificările făcând clic pe Salvare înregistrare în grupul Înregistrări de pe fila Pornire , mutând focalizarea la altă înregistrare sau utilizând metoda Actualizare .
Exemple
Utilizarea funcției DSum într-o expresie Puteți utiliza o funcție de domeniu (cum ar fi DSum) în rândul Actualizare la al unei interogări de actualizare. De exemplu, să presupunem că doriți să urmăriți vânzările curente după produs într-un tabel Produse. Puteți să adăugați un câmp nou denumit SalesSoFar în tabelul Products și să rulați o interogare de actualizare pentru a calcula valorile corecte și a actualiza înregistrările. Pentru a face acest lucru, creați o interogare nouă pe baza tabelului Produse și, pe fila Proiectare , în grupul Tip interogare , faceți clic pe Actualizare. Adăugați câmpul SalesSoFar în grila de interogare și tastați următoarele în rândul Actualizare la :
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])
Atunci când rulați interogarea, Access calculează volumul total de vânzări pentru fiecare produs, pe baza informațiilor dintr-un tabel Detalii comandă. Suma vânzărilor pentru fiecare produs este adăugată la tabelul Produse.
Utilizarea DSum în codul VBA
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ătorul exemplu totalează valorile din câmpul Transport pentru comenzile livrate în Regatul Unit. Domeniul este un tabel Comenzi. Argumentul criterii restricționează setul rezultat de înregistrări la cele pentru care ShipCountryRegion este egal cu Regatul Unit.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
Următorul exemplu calculează un total utilizând două criterii separate. Rețineți că ghilimelele simple (') și semnele numerice (#) sunt incluse în expresia șirului, astfel încât, atunci când șirurile sunt concatenate, literalul șirului să fie încadrat între ghilimele simple, iar data să fie încadrată între semne diez.
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK' AND _ [ShippedDate] > #1-1-95#")