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ääritetyn tietuejoukon (ryhmän) 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; ryhmä* [, 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 määrittää taulukon tai kyselyn kentän, tai se voi olla lauseke, joka suorittaa laskutoimituksen kyseisen kentän tiedoilla. Lausekkeeseen voi sisällyttää taulukon kentän, lomakkeen ohjausobjektin, vakion tai funktion nimen. Jos lauseke sisältää funktion, se voi olla joko valmis tai käyttäjän määrittämä funktio, mutta ei toinen ryhmäkoostefunktio eikä 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 ehtoja ei määritetä, TLaske-funktio arvioi lausekkeen arvon koko ryhmän perusteella. Kentän, joka sisältyy ehtoihin , on oltava myös toimialueen kenttä; 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-argumentilla voidaan suorittaa kentän laskutoimitus, TLaske-funktio laskee tietueiden määrän yhteen. Lausekkeen avulla suoritettujen laskutoimitusten arvot eivät ole käytettävissä.

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

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

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

Vinkki Laske-funktio on optimoitu nopeuttamaan tietueiden laskentaa kyselyissä. 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äarvoja kentässä, johon lauseke viittaa, 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, jolla on perusavain, voit laskea tietueiden kokonaismäärän myös määrittämällä lausekkeen perusavainkenttään, koska perusavainkentässä ei ole koskaan tyhjäarvoa .

Jos lauseke yhdistää useita kenttiä, erota kenttien nimet ketjutusoperaattorilla, joko et-merkillä (&) tai yhteenlaskuoperaattorilla (+). Jos erotat kentät et-merkeillä, TLaske-funktio palauttaa niiden tietueiden määrän, jotka sisältävät tietoja jossakin luettelossa olevista kentistä. Jos käytät yhteenlaskuoperaattoria, TLaske-funktio palauttaa vain niiden tietueiden määrän, jotka sisältävät tietoja kaikissa luetelluissa kentissä. Seuraavassa esimerkissä kuvataan kunkin operaattorin vaikutuksia, kun niitä käytetään kentässä, joka sisältää tietoja kaikissa tietueissa (ShipName) ja kentässä, joka ei sisällä mitään 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 käytettäessä tätä funktiota. Jos haluat, että TLaske-funktio perustuu muuttuneisiin arvoihin, tallenna ensin muutokset valitsemalla Tiedot-välilehden Tietueet -kohdassa Tallenna tietue, jolloin kohdistus siirtyy toiseen tietueeseen, tai käyttämällä Päivitä-menetelmää.

Esimerkkejä kyselyistä

Lauseke Tulokset
SELECT DCount("Tuotetunnus","TuoteMyynti","Alennus=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); Palauttaa Tuotemyynti-taulukon Tuotetunnus-kentän arvojen määrän, jossa Alennus-arvo on 0.
SELECT DCount("Tuotetunnus","Tuotemyynti","Myyntipäivämäärä=Päivämäärä()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); Palauttaa Tuotemyynti-taulukon Tuotetunnus-kentän arvojen määrän, jossa "Myyntipäivä" 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#