Funktsiooni DCount saate kasutada määratud kirjekomplektis (domeenis) olevate kirjete arvu määramiseks. Funktsiooni DCount saate kasutada moodulis Visual Basic for Applications (VBA), makros, päringuavaldises või arvutuslikus juhtelemendis.
Näiteks saate kasutada moodulis funktsiooni DCount, kui soovite tabelis Tellimused näha teatud kuupäeval esitatud tellimustele vastavaid kirjeid.
Süntaks
DCount(expr, domain* [, criteria] )
Funktsiooni DCount süntaksil on järgmised argumendid.
| Argument | Kirjeldus |
|---|---|
| avaldis | Nõutav. Avaldis, mis tuvastab välja, mille kirjeid soovite loendada. See võib olla stringavaldis, mis tuvastab tabeli või päringu välja, või avaldis, mis arvutab selle välja andmeid. Avaldises saate kaasata tabeli välja nime, vormi juhtelemendi, konstandi või funktsiooni. Kui avaldis sisaldab funktsiooni, võib see olla kas sisseehitatud või kasutaja määratletud, kuid mitte muu domeeni kokkuvõttefunktsioon ega SQL-kokkuvõttefunktsioon. |
| domeen | Nõutav. Stringavaldis, mis tuvastab domeeni moodustavat kirjete kogumi. See võib olla tabeli nimi või päringu nimi, mis kuulub parameetreid mitte vajavale päringule. |
| kriteeriumid | Valikuline. Stringiavaldist kasutatakse andmevahemiku piiramiseks, mille peal kasutatakse funktsiooni DCount. Näiteks sql-avaldises on kriteeriumid sageli võrdväärsed WHERE-klausliga, ilma sõnata WHERE. Kui kriteeriumid puudub, hindab funktsioon DCountavaldist kogu domeeni suhtes. Iga väli, mis on kriteeriumite alla lisatud, peab olema ka domeeni väli; vastasel juhul tagastab funktsioon DCount väärtuse Null. |
Kommentaarid
Kasutage funktsiooni DCount, kui soovite domeeni kirjete arvu loendada, mitte määrata nende väärtust. Kuigi argumendi avaldis abil saab välja arvutada, vastab funktsioon DCount lihtsalt kirjete arvule. Avaldise tehtud arvutuste väärtus pole saadaval.
Funktsiooni DCount saate kasutada arvutatud juhtelemendis, kui soovite määrata selle andmevahemiku piiritlemise kriteeriumid, millele funktsiooni rakendate. Näiteks Californiasse tarnitavate tellimuste arvu kuvamiseks seadke tekstivälja atribuudiks Juhtelemendi allikas järgmine avaldis:
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
Kui soovite lihtsalt loendada kõiki domeeni kirjeid ilma piiranguid määramata, kasutage funktsiooni Count .
Näpunäide Funktsioon Count on optimeeritud päringutes kirjete kiireks loendamiseks. Kasutage päringuavaldises funktsiooni DCount asemel funktsiooni Count ja seadke valikulised kriteeriumid tulemite kitsenduste jõustamiseks. Funktsiooni DCount on soovitatav kasutada siis, kui soovite loendada domeeni kirjeid koodimoodulis või makros või arvutatud juhtelemendis.
Funktsiooni DCount abil saate loendada kirjed, milles sisalduv väli ei paikne vormi või aruande aluseks olevas kirjeteallikas. Näiteks saate kuvada arvutatud juhtelemendis tabeli Tellimused tellimuste arvu tabelil Tooted põhineval vormil.
Funktsioon DCount ei loenda kirjeid, mis sisaldavad avaldise viidatud väljal tühiväärtusi, v.a juhul, kui avaldis on metamärk tärn (*). Kui kasutate tärni, arvutab funktsioon DCount kirjete koguarvu (sh väljaväärtust Tühiväärtus sisaldavad kirjed). Järgmises näites arvutatakse tabeli Tellimused kirjete arv.
intX = DCount("*", "Orders")
Kui domeen on primaarvõtmega tabel, saate kirjete koguarvu loendamiseks seada avaldise primaarvõtme väljale, kuna primaarvõtme väljal pole kunagi väärtust Null .
Kui avaldis tuvastab mitu välja, eraldage väljanimed ühendamisoperaatoriga, kas ampersandiga (&) või liitmismärgiga (+). Kui kasutate väljade eraldajana ampersandi, tagastab funktsioon DCount nende kirjete arvu, mille mis tahes väljad sisaldavad andmeid. Kui kasutate liitmismärki, tagastab funktsioon DCount ainult nende kirjete arvu, mille kõik loetletud väljad sisaldavad andmeid. Järgmine näide illustreerib mõlema tehtemärgi mõju nii siis, kui tehtemärki kasutatakse väljal, mis sisaldab andmeid kõigis kirjetes (TarneNimi), kui ka väljal, mis andmeid ei sisalda (TarnePiirkond).
intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")
Märkus.
Stringide ühendamiseks tuleks eelistada ampersandi. Liitmismärki on soovitatav kasutada ainult arvude liitmiseks (v.a juhul, kui soovite avaldises lubada Tühiväärtusi).
Selle funktsiooni kasutamisel domeeni kirjete salvestamata muudatusi ei kaasata. Kui soovite, et funktsioon DCount põhineks muudetud väärtustel, peate esmalt muudatused salvestama, klõpsates menüü Andmed jaotises Kirjed nuppu Salvesta kirje, liigutades fookuse mõnele muule kirjele või kasutades meetodit Värskendamine.
Päringu näited
| Avaldis | Tulemid |
|---|---|
| SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); | Tagastab tabeli "ProductSales" välja "ProductID" väärtuste arvu, kus väärtus "Discount" on "0". |
| SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); | Tagastab tabeli "ProductSales" välja "ProductID" väärtuste arvu, kus "DateofSale" on päev enne praegust kuupäeva. |
VBA näide
Märkus.
Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.
Järgmine funktsioon tagastab pärast määratud tarnekuupäeva kindlasse riiki/regiooni tarnitud tellimuste arvu. Domeen on tabel Tellimused.
Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function
Selle funktsiooni kutsumiseks kasutage aknas Kohene järgmist koodirida:
:OrdersCount "UK", #1/1/96#