A DCount függvénnyel meghatározhatja a megadott rekordkészletben (tartományban) lévő rekordok számát. Használja a DCount függvényt egy Visual Basic for Applications (VBA) modulban, makróban, lekérdezési kifejezésben vagy számított vezérlőelemben.
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. Ez lehet egy tábla vagy lekérdezés egy mezőjét azonosító sztringkifejezés, vagy egy olyan kifejezés, amely számítást végez az adott mező adatain. A kifejezésben megadhatja egy mező nevét egy táblában, egy űrlap vezérlőelemét, egy állandót vagy egy függvényt. Ha a kifejezés tartalmaz egy függvényt, az lehet beépített vagy felhasználó által definiált, de nem egy másik tartomány-összesítő vagy SQL összesítő függvény. |
| 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 az SQL-kifejezések WHERE záradékával, a WHERE szó nélkül. Ha a feltétel nincs megadva, a DCount függvény kiértékeli a kifejezés értékét a teljes tartományra. A feltételekben szereplő mezőknek tartománybeli mezőnek 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 kif argumentum végezhet számítást egy mezőn, a DCount függvény egyszerűen a rekordok számát tallosítja. Az expr által végrehajtott számítások é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 Kaliforniába szállítandó rendelések számát, állítsa egy szövegmező ControlSource tulajdonságát a következő kifejezésre:
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
Ha egyszerűen meg szeretné számolni a tartomány összes rekordját korlátozások megadása nélkül, használja a Count függvényt.
Tipp A Count függvény úgy lett optimalizálva, hogy felgyorsítsa a lekérdezések rekordjainak megszámlálását. 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ámlálja meg azokat a rekordokat, amelyek null értékeket tartalmaznak a kifejezés által hivatkozott mezőben, kivéve, ha a kifejezés a 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 egy elsődleges kulccsal rendelkező tábla, akkor a rekordok teljes számát is megszámlálhatja úgy, hogy a kif értékét 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 kifejezés több mezőt azonosít, válassza el a mezőneveket egy összefűző operátorral, vagy egy és (&) vagy az összeadás operátorral (+). 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.
A tartomány rekordjainak nem mentett módosításai nem szerepelnek a függvény használatakor. Ha azt szeretné, hogy a DCount függvény a módosított értékeken alapuljon, először mentenie kell a módosításokat az Adatok lap Rekordok csoportjában a Rekord mentése gombra kattintva, a fókusz másik rekordra való áthelyezésével vagy az Update metódussal.
Példák lekérdezésre
| 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ében szereplő értékek számát adja vissza, ahol a "Discount" érték "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ében szereplő értékek számát adja vissza, ahol a "DateofSale" egy nappal az aktuális dátum előtt van. |
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#