Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Käyttämällä TLaske-funktiota voit määrittää määritetyn tietuejoukon (ryhmä) tietueiden määrän. Käytä TLaske-funktiota Visual Basic for Applications (VBA) -moduulissa, makro, kyselyn lausekkeessa tai laskettu 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 . Lauseke voi olla taulukon tai kyselyn kentän määrittävä merkkijonolauseke, tai se voi olla kentän tietojen laskennan suorittava lauseke. Lauseke voi sisältää 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 vastaa usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos ehdot jätetään pois, TLaske-funktio vertaa lauseketta koko ryhmään. Kentän, joka sisältyy ehtoihin, on oltava myös ryhmän 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-argumentti voi suorittaa kentän laskutoimituksen, 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. 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.

Vihje 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äarvon kentässä, johon lausekkeella viitataan, 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 ryhmä on taulukko, jossa on perusavain, voit laskea tietueiden kokonaismäärän myös määrittämällä lausekkeen perusavainkenttään, koska perusavainkentässä ei voi koskaan olla 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.

Ryhmän 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-kohdasta Tallenna tietue, jolloin kohdistus siirtyy toiseen tietueeseen, tai käytä Update-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#

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.