A DCount függvénnyel meghatározhatja egy adott rekordhalmaz (tartomány) rekordjainak számát. A DCount függvény használható Visual Basic for Applications (VBA) -modulokban, makrókban, lekérdező kifejezésekben és számított vezérlőelemekben.
A DCount függvény használható például egy modulban abból a célból, hogy megkapja a Rendelések táblában azoknak a rekordoknak a számát, amelyek egy adott napon feladott rendeléseknek felelnek meg.
Szintaxis
DCount(kifejezés; tartomány* [; kritérium] )
A DCount függvény argumentumai a következők:
| Argumentum | Leírás: |
|---|---|
| kif | Kötelező. Olyan kifejezés, amely megadja azt a mezőt, amelynek a rekordjait meg szeretné számolni. Lehet olyan karakterlánc-kifejezés, amely megadja egy tábla vagy lekérdezés egy mezőjét, vagy lehet olyan kifejezés, amely a mezőben található adatokon elvégez egy számítást. A kifejezésben szerepeltetheti egy tábla mezőjének nevét, egy űrlap vezérlőelemét, állandót vagy függvényt. Ha a kifejezés függvényt tartalmaz, akkor az lehet beépített és felhasználó által megadott függvény is, de másik tartományösszesítő vagy összesítő SQL-függvény nem. |
| tartomány | Kötelező. Olyan karakterlánc-kifejezés, amely meghatározza a tartományt alkotó rekordok készletét. Lehet táblanév vagy olyan lekérdezés neve, amelyhez nem szükséges paramétert megadni. |
| kritérium | Nem kötelező. Olyan karakterlánc-kifejezés, amely megadja, hogy mely adatokra kell alkalmazni a DCount függvényt. A feltételek például gyakran egyenértékűek egy SQL-kifejezés WHERE záradékával a WHERE szó nélkül. Ha a kritérium nincs megadva, a DCount függvény a teljes tartományon értékeli ki a kifejezést . A feltételben szereplő mezőknek egyben a tartomány mezőinek is kell lenniük; ellenkező esetben a DCount függvény null értéket ad vissza. |
Megjegyzések
A DCount függvénnyel megszámolhatja egy tartomány rekordjainak számát, ha a konkrét értékek nem lényegesek. Bár a kifejezés argumentummal számításokat végezhet a megadott mezőn, a DCount függvény csupán összesíti a rekordokat. A kifejezés által végrehajtott számítás értéke nem érhető el.
Számított vezérlőelemben akkor használja a DCount függvényt, ha meg kell adnia egy kritériumot annak az adattartománynak a korlátozására, amelyre alkalmazni szeretné a függvényt. Ha például meg szeretné jeleníteni a Kalifornia államba szállítandó rendelések számát, állítsa a szövegmező Mező vagy kifejezés tulajdonságát a következő kifejezésre:
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
Ha egyszerűen a tartomány összes rekordját szeretné megszámolni anélkül, hogy bármilyen korlátozást megadna, használja a Count függvényt.
Tipp A Count függvényt optimalizáltuk a lekérdezések rekordjainak gyors megszámolásához. Lekérdezési kifejezésekben használja a Count függvényt a DCount függvényt helyett, és állítsa be az opcionális kritériumot úgy, hogy az végrehajtsa az eredményen a kívánt korlátozásokat. A DCount függvényt csak akkor használja, ha mindenképp meg kell számolnia egy tartomány rekordjait egy modulban, egy makróban vagy egy számított vezérlőben.
A DCount függvény akkor is használható, ha azoknak a rekordoknak a számát szeretné megkapni, amelyek az űrlap vagy a jelentés alapjául szolgáló rekordforrástól eltérő forrásból származó mezőt tartalmaznak. Megjelenítheti például a Rendelések táblában található rendelések számát egy, a Termékek táblán alapuló űrlapon található számított vezérlőelemben.
A DCount függvény nem számolja meg azokat a rekordokat, amelyek Null értéket tartalmaznak a kifejezéssel hivatkozott mezőben, kivéve, ha a kifejezés csillag (*) helyettesítő karakter. Ha a csillagot használja, a DCount függvény kiszámítja a rekordok teljes számát, azokat is beleszámítva, amelyek Null értékű mezőket tartalmaznak. Az alábbi példával kiszámolhatja a rekordok számát az Orders táblában.
intX = DCount("*", "Orders")
Ha a tartomány elsődleges kulccsal rendelkező tábla, akkor úgy is megszámlálhatja a rekordok teljes számát, hogy a kifejezést az elsődleges kulcs mezőjére állítja, mivel az elsődleges kulcs mezőjében soha nem lesz Null érték.
Ha a kif több mezőt azonosít, válassza el a mezőneveket összefűző operátorral, például az és jellel (&) vagy az összeadásjellel (+). Ha az „és” jelet használja a mezők elválasztására, akkor a DCount függvény azoknak a rekordoknak a számát adja eredményül, amelyek tartalmaznak adatot bármelyik megadott mezőben. Ha az összeadásjelet használja, a DCount függvény azoknak a rekordoknak a számát adja eredményül, amelyek minden megadott mezőben tartalmaznak adatot. Az alábbi példa bemutatja az egyes jelek hatását, ha olyan mezőben alkalmazza őket, amely minden rekordban tartalmaz adatot (ShipName), illetve amikor olyan mezőre alkalmazza, amely nem tartalmaz adatot (ShipRegion).
intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")
Megjegyzés
Karakterláncok összefűzésére az „és” jel a megfelelőbb operátor. Ha lehet, ne használja az összeadásjelet, ha nem numerikus összeadást végez, kivéve ha propagálni szeretné a Null értékeket egy kifejezésben.
Amikor ezt a függvényt használja, a tartomány rekordjainak nem mentett módosításait nem veszi figyelembe az Access. Ha azt szeretné, hogy a DCount függvény a módosított értékeket vegye alapul, először mentenie kell a módosításokat. Ehhez kattintson az Adatok lap Rekordokcsoportjának Rekord mentése parancsára, vigye a fókuszt másik rekordra, vagy használja az Update metódust.
Példák lekérdezésekre
| Expression (Kifejezés) | Eredmény: |
|---|---|
| SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); | A "ProductSales" tábla "ProductID" mezőjének értékeit adja vissza, ahol a "Discount" (Kedvezmény) értéke "0". |
| SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); | A "ProductSales" tábla "ProductID" mezőjének értékeit adja vissza, ahol az "Értékesítésdátum" egy nappal korábbi az aktuális dátumnál. |
VBA-példa
Megjegyzés
A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.
Az alábbi függvény az egy adott országba/területre egy adott szállítási dátum után szállított rendelések számát adja eredményül. A tartomány az Orders táblának felel meg.
Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function
A függvény meghívására a következő kódsort használja az Immediate ablakban:
:OrdersCount "UK", #1/1/96#