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

Puteți utiliza funcția DCount pentru a determina numărul de înregistrări care se află într-un set specificat de înregistrări (un domeniu ). Utilizați funcția DCount î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 DCount într-un modul pentru a returna numărul de înregistrări dintr-un tabel Comenzi care corespund comenzilor plasate la o anumită dată.

Sintaxă

DCount ( expresie , domeniu [, criterii] )

Sintaxa funcției DCount are următoarele argumente:

Argument

Descriere

expr

Obligatoriu. O expresie care identifică câmpul pentru care doriți să contorizați înregistrările. 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 execută funcția DCount . De exemplu, criteriile sunt adesea echivalente cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. Dacă criterii este omis, funcția DCount 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 DCount returnează un Null.

Observații

Utilizați funcția DCount pentru a contoriza numărul de înregistrări dintr-un domeniu atunci când nu trebuie să cunoașteți valorile lor specifice. Deși argumentul expr poate efectua un calcul pentru un câmp, funcția DCount calculează pur și simplu numărul de înregistrări. Valoarea oricărui calcul efectuat de expr nu este disponibilă.

Utilizați funcția DCount într-un control calculat atunci când trebuie să specificați criterii pentru a restricționa zona de date pentru care se efectuează funcția. De exemplu, pentru a afișa numărul de comenzi de expediat în California, setați proprietatea ControlSource a unei casete text la următoarea expresie:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

Dacă doriți pur și simplu să contorizați toate înregistrările din domeniu fără a specifica restricții, utilizați funcția Count .

Sfat Funcția Count a fost optimizată pentru a număra rapid înregistrările din interogări. Utilizați funcția Count într-o expresie de interogare în locul funcției DCount și setați criterii opționale pentru a impune orice restricții asupra rezultatelor. Utilizați funcția DCount atunci când trebuie să contorizați înregistrările dintr-un domeniu dintr-un modul de cod sau dintr-o macrocomandă sau dintr-un control calculat.

Puteți utiliza funcția DCount pentru a contoriza numărul de înregistrări care conțin un anumit câmp care nu se află în sursa de înregistrări pe care se bazează formularul sau raportul. De exemplu, puteți afișa numărul de comenzi din tabelul Comenzi într-un control calculat dintr-un formular bazat pe tabelul Produse.

Funcția DCount nu contorizează înregistrările care conțin valori Null în câmpul la care face referire expr , cu excepția cazului în care expr este caracterul wildcard asterisc (*) . Dacă utilizați un asterisc, funcția DCount calculează numărul total de înregistrări, inclusiv pe cele care conțin câmpuri Null . Următorul exemplu calculează numărul de înregistrări dintr-un tabel Comenzi.

intX = DCount("*", "Orders")

Dacă domeniu este un tabel cu un cheie primară, puteți contoriza și numărul total de înregistrări setând expr la câmpul cheie primară, deoarece nu va exista niciodată un Null în câmpul cheie primară.

Dacă expr identifică mai multe câmpuri, separați numele câmpurilor cu un operator de concatenare, fie cu un ampersand (&), fie cu operatorul de adăugare (+). Dacă utilizați un ampersand pentru a separa câmpurile, funcția DCount returnează numărul de înregistrări care conțin date în oricare dintre câmpurile listate. Dacă utilizați operatorul de adăugare, funcția DCount returnează doar numărul de înregistrări care conțin date în toate câmpurile listate. Următorul exemplu demonstrează efectele fiecărui operator atunci când este utilizat cu un câmp care conține date din toate înregistrările (NumeExpediere) și un câmp care nu conține date (ShipRegion).

intW = DCount("[ShipName]", "Orders")intX = DCount("[ShipRegion]", "Orders")intY = DCount("[ShipName] + [ShipRegion]", "Orders")intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

Notă:  Ampersand este operatorul preferat pentru efectuarea concatenării șirurilor. Trebuie să evitați utilizarea operatorului de adunare pentru altceva decât adunarea numerică, cu excepția cazului în care doriți să propagați valorile nule într-o expresie.

Modificările nesalvate la înregistrările din domeniu nu sunt incluse atunci când utilizați această funcție. Dacă doriți ca funcția DCount să se bazeze pe valorile modificate, trebuie mai întâi să salvați modificările făcând clic pe Salvare înregistrare sub Înregistrări pe fila Date , mutând focalizarea la altă înregistrare sau utilizând metoda Update .

Exemple de interogare

Expresie

Rezultatele

SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0");

Returnează numărul de valori din câmpul "IDProdus" din tabelul "ProductSales" unde valoarea "Discount" este "0".

SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1");

Returnează numărul de valori din câmpul "IDProdus" din tabelul "ProduseVânți" unde "DateofSale" este cu o zi înainte de data curentă.

Exemplu 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ătoarea funcție returnează numărul de comenzi expediate într-o anumită țară/regiune după o dată specificată a livrării. Domeniul este un tabel Comenzi.

Public Function OrdersCount _    (ByVal strCountryRegion As String, _    ByVal dteShipDate As Date) As Integer    OrdersCount = DCount("[ShippedDate]", "Orders", _        "[ShipCountryRegion] = '" & strCountryRegion & _        "' AND [ShippedDate] > #" & dteShipDate & "#")End Function

Pentru a apela funcția, utilizați următoarea linie de cod din fereastra Instantanee:

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

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.