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#