DCount-funktio

Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

TLaske-funktion avulla voit määrittää määritetyssä tietuejoukossa (toimialueessa) olevien tietueiden määrän. Käytä TLaske-funktiota Visual Basic for Applications (VBA) -moduulissa, makrossa, kyselylausekkeessa tai lasketussa ohjausobjektissa.

Voit käyttää TLaske-funktiota esimerkiksi moduulissa ja palauttaa Tilaukset-taulukon tietueiden määrän, joka vastaa tiettynä päivänä tehtyjen tilausten määrää.

Syntaksi

TLaske(lauseke, toimialue* [, ehdot] )

TLaske-funktion syntaksilla on seuraavat argumentit:

Argumentti Kuvaus
lauseke Pakollinen. Lauseke, joka määrittää kentän, jonka tietueet haluat laskea . Se voi olla merkkijonolauseke, joka tunnistaa taulukon tai kyselyn kentän, tai se voi olla lauseke, joka suorittaa laskutoimituksen kyseisen kentän tiedoille. Lausekkeessa voit sisällyttää taulukon kentän nimen, lomakkeen ohjausobjektin, vakion tai funktion. Jos lauseke sisältää funktion, se voi olla joko sisäinen tai käyttäjän määrittämä, mutta ei toinen toimialueen kooste tai SQL-koostefunktio.
ryhmä Pakollinen. Merkkijonolauseke, joka määrittää ryhmän muodostavan tietuejoukon. Kyseessä voi olla taulukon nimi tai sellaisen kyselyn nimi, joka ei vaadi parametria.
ehto Valinnainen. Merkkijonolauseke, jonka avulla rajoitetaan niiden tietojen aluetta, joihin TLaske-funktiota käytetään. Esimerkiksi ehdot vastaavat usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos ehdot jätetään pois, TLaske-funktio arvioi lausekkeen koko toimialueen perusteella. Kaikkien ehtoihin sisältyvien kenttien on myös oltava toimialueen kenttiä. muussa tapauksessa TLaske-funktio palauttaa tyhjäarvon.

Huomautuksia

TLaske-funktion avulla voit laskea ryhmän tietueiden määrän, jos sinun ei tarvitse tietää niiden yksittäisiä arvoja. Vaikka lauseke-argumentti voi suorittaa laskutoimituksen kentälle, TLaske-funktio laskee vain tietueiden määrän. Lausekkeen suorittaman laskutoimituksen arvo ei ole käytettävissä.

Käytä TLaske-funktiota lasketussa ohjausobjektissa, kun haluat määrittää ehdot, joiden perusteella rajataan funktion suorittamisessa käytettävä tietoalue. Jos esimerkiksi haluat näyttää Kaliforniaan toimitettavien tilausten määrän, määritä tekstiruudun OhjausobjektinLähde-ominaisuudeksi seuraava lauseke:

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

Jos haluat vain laskea kaikki toimialueen tietueet määrittämättä mitään rajoituksia, käytä Laske-funktiota .

Vihje Määrä-funktio on optimoitu nopeuttamaan kyselyjen tietueiden laskemista. Käytä Laske-funktiota kyselylausekkeessa TLaske-funktion sijaan, ja määritä valinnaiset ehdot tuloksia koskevien rajoitusten pakottamiseen. Käytä TLaske-funktiota, kun haluat laskea ryhmän tietueet koodimoduulista, makrosta tai lasketusta ohjausobjektista.

Voit laskea TLaske-funktiolla sellaisten tietueiden määrän, jotka sisältävät tietyn kentän, joka ei ole lomakkeen tai raportin perustana olevassa tietuelähteessä. Voit esimerkiksi näyttää Tilaukset-taulukon tilausten määrän lasketussa ohjausobjektissa Tuotteet-taulukkoon perustuvalla lomakkeella.

TLaske-funktio ei laske tietueita, jotka sisältävät tyhjäarvojalausekkeella viitatussa kentässä, ellei lauseke ole tähtimerkki (*). Jos käytät tähtimerkkiä, TLaske-funktio laskee tietueiden kokonaismäärän, mukaan lukien myös tyhjäarvoisen kentän sisältävät tietueet. Seuraavassa esimerkissä lasketaan Tilaukset-taulukon tietueiden määrä.

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

Jos toimialue on taulukko, jossa on perusavain, voit myös laskea tietueiden kokonaismäärän määrittämällä lausekkeen perusavainkenttään, koska perusavainkentässä ei koskaan ole tyhjäarvoa .

Jos lauseke määrittää useita kenttiä, erota kenttien nimet ketjutusoperaattorilla, joko et-merkin (&) tai lisäysoperaattorin (+) avulla. Jos käytät et-merkkiä kenttien erottamiseen, TLaske-funktio palauttaa niiden tietueiden määrän, jotka sisältävät tietoja missä tahansa luettelossa olevassa kentässä. Jos käytät lisäysoperaattoria, TLaske-funktio palauttaa vain niiden tietueiden määrän, jotka sisältävät tietoja kaikissa luetelluissa kentissä. Seuraavassa esimerkissä esitetään kunkin operaattorin vaikutukset, kun sitä käytetään kentässä, joka sisältää tietoja kaikissa tietueissa (ShipName) ja kentässä, joka ei sisällä tietoja (ShipRegion).

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

Huomautus

Et-merkki on merkkijonojen yhdistämisen ensisijainen operaattori. Vältä lisäysoperaattorin käyttämistä mihinkään muuhun kuin numeroiden lisäykseen, ellet nimenomaan halua levittää tyhjäarvoja koko lausekkeeseen.

Toimialueen tietueiden tallentamattomia muutoksia ei oteta mukaan, kun käytät tätä funktiota. Jos haluat TLaske-funktion perustuvan muuttuneisiin arvoihin, sinun on ensin tallennettava muutokset valitsemalla Tiedot-välilehden Tietueet-kohdassaTallenna tietue, siirtämällä kohdistus toiseen tietueeseen tai käyttämällä Päivitä-menetelmää.

Esimerkkejä kyselystä

Lauseke Tulokset
SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); Palauttaa tuotetunnus-kentän arvojen määrän taulukosta "Tuotemyynti", jossa Alennus-arvo on "0".
SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); Palauttaa tuotetunnus-taulukon Tuotetunnus-kentän arvojen määrän, kun DateofSale on päivää ennen nykyistä päivämäärää.

VBA-esimerkki

Huomautus

Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

Seuraava funktio palauttaa tiettyyn maahan tai tietylle alueelle määritetyn lähetyspäivän jälkeen toimitettujen tilausten määrän. Ryhmä on Tilaukset-taulukko.

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

Voit kutsua funktion käyttämällä seuraavaa koodia välittömässä suoritusruudussa:

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