Kukin funktio pakottaa lauseken tiettyyn tietotyyppieen.
Syntaksi
CBool( expression )
CByte( expression )
CCur( expression )
CDate( expression )
CDbl( expression )
CDec( expression )
CInt( expression )
CLng( expression )
CSng( expression )
CStr( expression )
CVar( expression )
Pakollinen expressionargumentti-argumentti on mikä tahansa merkkijonolauseke tai numeerinen lauseke.
Palautustyypit
Funktion nimi määrää palautustypin seuraavasti:
Funktio | Palautustyyppi | Alue expression -argumentille |
---|---|---|
CBool |
Totuusarvo |
Mikä tahansa kelvollinen merkkijono tai numeerinen lauseke. |
CByte |
Tavu |
0–255. |
CCur |
Valuutta |
-922,337,203,685,477.5808– 922,337,203,685,477.5807. |
CDate |
Päivämäärä |
Mikä tahansa kelvollinen päivämäärälauseke. |
CDbl |
Double-tietotyyppi |
-1,79769313486231E308– |
CDec |
Desimaali |
+/-79 228 162 514 264 337 593 543 950 335 pyöristetyille numeroille eli numeroille, joissa ei ole desimaalipaikkoja. Jos numeroissa on 28 desimaalipaikkaa, alue on |
CInt |
Kokonaisluku |
-32,768–32 767; murtoluvut pyöristetään. |
CLng |
Pitkä |
-2,147,483,648–2,147,483,647; murtoluvut pyöristetään. |
CSng |
Single-tietotyyppi |
-3,402823E38–-1,401298E-45 negatiivisille arvoille; 1,401298E-45–3,402823E38 positiivisille arvoille. |
CStr |
Merkkijono |
Palauttaa CStr expression-argumentin mukaan. |
CVar |
Muuttuja |
Sama alue kuin Double-tietotyyppi numeerisille arvoille. Sama alue kuin Merkkijono ei-numeerisille arvoille. |
Huomautuksia
Jos funktioon siirretty expression-argumentti on muunnettavan tietotyypin alueen ulkopuolella, tapahtuu virhe.
Voit yleensä kirjata koodin tietotyypin muuntofunktioiden avulla sen näyttämiseksi, että joidenkin operaatioiden tulos olisi ilmaistava tiettynä tietotyyppinä oletustietotyypin sijasta. Voit esimerkiksi käyttää CCur-funktiota valuutta-aritmetiikan pakottamiseksi tapauksissa, joissa käytetään tavallisesti Single-tietotyypin tarkkuutta, Double-tietotyypin tarkkuutta tai kokonaisluvun aritmetiikkaa.
Val-funktion sijasta olisi käytettävä tietotyypin muuntofunktioita kansainvälisten muuntojen suorittamiseksi yhdestä tietotyypistä toiseen. Esimerkiksi kun käytät CCur-funktiota, eri desimaalierottimet, eri tuhaterottimet ja erilaiset valuuttaoptiot tunnistetaan oikein tietokoneen kieliasetuksen mukaan.
Kun murto-osa on täsmälleen 0,5, CInt- ja CLng-funktiot pyöristävät sen aina lähimpään parilliseen lukuun. Esimerkiksi 0,5 pyöristetään lukuun 0 ja 1,5 pyöristetään lukuun 2. CInt- ja CLng-funktiot eroavat Fix- ja Int-funktioista, jotka katkaisevat luvun murto-osan sen pyöristämisen sijasta. Lisäksi Fix- ja Int-funktiot palauttavat aina saman tyypin arvon kuin siirrossa.
Voit IsDate-funktion avulla määrittää, voidaanko päivämäärä muuntaa päivämääräksi vai kellonajaksi. CDate-funktio tunnistaa päivämääräliteraalit ja aikaliteraalit samoin kuin jotkin luvut, jotka ovat hyväksyttävien päivämäärien alueen sisällä. Kun muunnat luvun päivämääräksi, kokonaisluvun osa muunnetaan päivämääräksi. Luvun jokainen murto-osa muunnetaan tiettyyn kellonaikaan alkaen keskiyöstä.
CDate-funktio tunnistaa päivämäärämuodot järjestelmän aluekohtaiset asetukset-asetuksen mukaan. Päivän, kuukauden ja vuoden oikeaa järjestystä ei voida ehkä määrittää, jos se on annettu jossakin toisessa muodossa kuin päivämääräasetuksissa tunnistetussa muodossa. Lisäksi pitkää päivämäärämuotoa ei tunnisteta, jos se sisältää myös viikonpäivä-merkkijonon.
CVDate -funktio on myös yhteensopiva aiempien Visual Basicin versioiden kanssa. CVDate -funktion syntaksi on identtinen CDate -funktion kanssa, mutta CVDate palauttaa variantin, jonka alatyyppi on päivä määrä todellisen päivämäärä tyypin sijaan. Koska nyt on olemassa sisäinen päivämäärä tyyppi, CVDate-arvoa ei tarvita. Sama tehoste voidaan saavuttaa muuntamalla lauseke päivä määräksi ja määrittämällä se sitten varianttiin. Tämä menetelmä vastaa kaikkien muiden luontaisten tyyppien muuntamista vastaaviksi Muuttuja -alatyyppeihin.
Huomautus: CDec-funktio ei palauta erillistä tietotyyppiä vaan se palauttaa aina Variant-tyypin, jonka arvo on muunnettu Decimal-alatyypiksi.
Kysely esimerkit
Lauseke | Tulokset |
---|---|
Valitse myynti hinta, Finaliprice, CBool (salhprice>Finaliprice) Lauseke1 alkaen productSales; |
Palauttaa arvon "myynti hinta", "loppu hinta" ja arvioi, onko myynti hinta suurempi kuin lopullinen hinta. Palauttaa arvon "-1", jos tosi ja "0", jos EPÄTOSI. |
Valitse ProductID, CByte (määrä) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "määrä"-kentän arvot tavut-muotoon ja näyttää sarakkeessa Lauseke1 palauttaa arvon "ProductID", muuntaa määrä-kentän arvot valuutta muotoon ja näyttää sarakkeen Lauseke1. |
Valitse ProductID, CDate (DateofSale) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "DateofSale"-kentän arvon päivämäärä muotoon ja näyttää sarakkeen Lauseke1. |
Valitse ProductID, CDbl (alennus) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "alennus"-kentän arvot kaksoismuotoiluksi ja näyttää sarakkeen Lauseke1. |
Valitse ProductID, CInt (alennus) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "alennus"-kentän arvot Kokonaislukumuotoon ja näkyy sarakkeessa Lauseke1. |
Valitse ProductID, CLng (alennus) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "alennus"-kentän arvot pitkäksi muodoksi ja näyttää sarakkeen Lauseke1. |
Valitse ProductID, CSng (alennus) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "alennus"-kentän arvot yhdeksi muodoksi ja näyttää sarakkeen Lauseke1. |
Valitse ProductID, CStr (alennus) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "alennus"-kentän arvot merkki jono muotoon ja näyttää sarakkeen Lauseke1. |
Valitse ProductID, CVar (alennus) Lauseke1 alkaen productSales; |
Palauttaa "ProductID", muuntaa "alennus"-kentän arvot kaksinkertaiseksi numeerisille arvoille ja merkki jonolle, jotka eivät ole numeerisia arvoja. |
VBA-esimerkit
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.
CBool-funktio
Vihje: Access 2010:n IntelliSensen sisältävä lausekkeenmuodostin auttaa käyttämään lausekkeita oikein.
Tässä esimerkissä CBool-funktiota käytetään muuntamaan lauseke totuusarvoksi. Jos lauseke laskee muun kuin nolla-arvon, CBool palauttaa Tosi; muussa tapauksessa se palauttaa Epätosi.
Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.
CByte-funktio
Tässä esimerkissä käytetään CByte-funktiota muuntamaan lauseke tavuksi.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
CCur-funktio
Tässä esimerkissä käytetään CCur-funktiota muuntamaan lauseke valuutaksi.
Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).
CDate-funktio
Tässä esimerkissä käytetään CDate-funktiota muuntamaan merkkijono päivämääräksi. Yleensä päivämäärien ja aikojen kiinteää koodausta merkkijonoiksi (kuten tässä esimerkissä) ei suositella. Käytä sen sijaan päivämääräliteraaleja ja aikaliteraaleja, kuten #2/12/1969# ja #4:45:23 PM#.
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)
CDbl-funktio
Tässä esimerkissä käytetään CDbl-funktiota muuntamaan lauseke Double-tietotyypiksi.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
CDec-funktio
Tässä esimerkissä käytetään CDec-funktiota muuntamaan numeerinen arvo desimaaliksi.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
CInt-funktio
Tässä esimerkissä käytetään CInt-funktiota muuntamaan arvo kokonaisluvuksi.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
CLng-funktio
Tässä esimerkissä käytetään CLng-funktiota muuntamaan arvo pitkäksi.
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.
CSng-funktio
Tässä esimerkissä käytetään CSng-funktiota muuntamaan arvo Single-tietotyypiksi.
Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.
CStr-funktio
Tässä esimerkissä käytetään CStr-funktiota muuntamaan arvo merkkijonoksi.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
CVar-funktio
Tässä esimerkissä käytetään CVar-funktiota muuntamaan lauseke muuttujaksi.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.
Huomautus: Tämä sivu on käännetty automaation avulla, ja siinä saattaa olla kielioppivirheitä tai epätarkkuuksia. Tarkoitus on, että sisällöstä on sinulle hyötyä. Kerrotko meille, oliko tiedoista hyötyä? Tästä pääset artikkelin englanninkieliseen versioon.