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

Każda funkcja wymusza wyrażenie do określonego typ danych.

Składnia

CBool( wyrażenie )

CByte( wyrażenie )

CCur( wyrażenie )

CDate( wyrażenie )

CDbl( wyrażenie )

CDec( wyrażenie )

CInt( wyrażenie )

CLng( wyrażenie )

CSng( wyrażenie )

CStr( wyrażenie )

CVar( wyrażenie )

Wymagane wyrażenieargument to dowolne wyrażenie tekstowe lub wyrażenie numeryczne.

Typy zwrotów

Nazwa funkcji określa typ zwrotu, jak pokazano w poniższym przykładzie:

Funkcja

Typ zwrotu

Argument zakres wyrażenia

CBool

wartość logiczna

Dowolny prawidłowy ciąg lub wyrażenie liczbowe.

CByte

Bajt

od 0 do 255.

CCur

Waluta

-922 337 203 685 477,5808 do 922 337 203 685 477,5807.

CDate

Data

Dowolne prawidłowe wyrażenie daty.

CDbl

Double

-1.79769313486231E308 do -4,94065645841247E-324 dla wartości ujemnych; 4.94065645841247E-324 do 1.79769313486232E308 dla wartości dodatnich.

CDec

Decimal

+/-79 228 162 514 264 337 593 543 950 335 w przypadku liczb o zerowej skali, czyli liczb bez miejsc dziesiętnych. W przypadku liczb zawierających 28 miejsc dziesiętnych zakres jest +/-7.9228162514264337593543950335. Najmniejsza możliwa liczba niezerowa jest równa 0,0000000000000000000000000001.

CInt

Liczba całkowita

-32 768 do 32 767; ułamki są zaokrąglane.

CLng

Długi

-2 147 483 648 do 2 147 483 647; ułamki są zaokrąglane.

CSng

Single

-3,402823E38 do -1,401298E-45 dla wartości ujemnych; Od 1,401298E-45 do 3,402823E38 dla wartości dodatnich.

CStr

Ciąg

Zwraca wartość argumentu CStr w zależności od argumentu wyrażenia .

CVar

Wariant

Ten sam zakres co w przypadku podwójnej precyzji dla liczb. Ten sam zakres co w przypadku ciągu dla danych nieliczbowych.

Uwagi

Jeśli wyrażenie przekazywane do funkcji znajduje się poza zakresem typu danych, na który jest konwertowany, występuje błąd.

Na ogół kod można udokumentować przy użyciu funkcji konwersji typu danych, aby pokazać, że wynik niektórych operacji powinien być wyrażony jako określony typ danych, a nie jako domyślny typ danych. Na przykład użycie klawisza CCur wymusza arytmetyczne waluty w przypadku wystąpienia normalnej arytmetyki pojedynczej precyzji, podwójnej precyzji lub liczby całkowitej.

Zamiast vala należy używać funkcji konwersji typu danych, aby zapewnić międzynarodowe konwersje z jednego typu danych na inny. Na przykład w przypadku korzystania z funkcji CCur różne separatory dziesiętne, różne separatory tysięcy i różne opcje walut są poprawnie rozpoznawane w zależności od ustawień regionalnych komputera.

Gdy część ułamkowa ma dokładnie 0,5, wartości CInt i CLng zawsze zaokrągla się do najbliższej liczby parzystej. Na przykład liczba 0,5 zaokrągla liczbę do 0, a liczba 1,5 zaokrągla do 2. Funkcje CInt i CLng różnią się od funkcji Fix i Int , które obcinają ułamkową część liczby, a nie zaokrąglają ją. Ponadto funkcje Fix i Int zawsze zwracają wartość tego samego typu, w jakim są przekazywane.

Użyj funkcji IsDate , aby określić, czy datę można przekonwertować na datę lub godzinę. Funkcja CDate rozpoznaje literały dat i literały godzin, a także niektóre liczby mieszczące się w zakresie dopuszczalnych dat. Podczas konwertowania liczby na datę część całkowita jest konwertowana na datę. Dowolna część ułamkowa liczby jest konwertowana na porę dnia, rozpoczynając od północy.

Funkcja CDate rozpoznaje formaty dat zgodnie z ustawieniem ustawienia regionalne systemu. Prawidłowa kolejność dni, miesięcy i lat może nie zostać określona, jeśli jest podana w formacie innym niż jedno z rozpoznanych ustawień daty. Ponadto format daty długiej nie jest rozpoznawany, jeśli zawiera również ciąg dnia tygodnia.

Funkcja CVDate jest również dostępna w celu zapewnienia zgodności z poprzednimi wersjami języka Visual Basic. Składnia funkcji CVDate jest identyczna z funkcją CDate , jednak funkcja CVDate zwraca wartość typu wariant , którego podtyp to Data , a nie rzeczywisty typ daty . Ponieważ istnieje teraz wewnętrzny typ daty , nie ma potrzeby dalszego cvdate. Ten sam efekt można osiągnąć, konwertując wyrażenie na datę, a następnie przypisując je do typu wariant. Technika ta jest zgodna z konwersją wszystkich innych typów wewnętrznych na równoważne ich podtypy typu wariant .

Uwaga: Funkcja CDec nie zwraca oddzielnego typu danych; Zamiast tego zawsze zwraca wartość typu wariant , którego wartość została przekonwertowana na podtyp dziesiętny .

Przykłady zapytań

Expression

Wyniki

SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales;

Zwraca wartość "CenaSprzedaży", "Cena Ostateczna" i sprawdza, czy cena_sprzedaży jest większa niż cena końcowa. Zwraca wartość "-1", jeśli wartość jest prawdziwa, i wartość "0", jeśli jest fałszywa.

SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales;

Zwraca wartość "IdentyfikatorProduktu", konwertuje wartości w polu "Ilość" na format bajtów i jest wyświetlana w kolumnie Wyr1 Zwraca wartość "IdentyfikatorProduktu", konwertuje wartości w polu "Ilość" na format walutowy i jest wyświetlana w kolumnie Wyr1.

SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales;

Zwraca wartość "IDProduktu". Konwertuje wartości w polu "DateofSale" na format Daty i jest wyświetlana w kolumnie Wyr1.

SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales;

Zwraca wartość "ProductID", konwertuje wartości w polu "Rabat" na format podwójny i jest wyświetlana w kolumnie Wyr1.

SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales;

Zwraca wartość "IDProduktu". Konwertuje wartości w polu "Rabat" na format całkowity i jest wyświetlana w kolumnie Wyr1.

SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales;

Zwraca wartość "IDProduktu", konwertuje wartości w polu "Rabat" na format długi i jest wyświetlana w kolumnie Wyr1.

SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales;

Zwraca wartość "IDProduktu", konwertuje wartości w polu "Rabat" na format pojedynczy i jest wyświetlana w kolumnie Wyr1.

SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales;

Zwraca wartość "IDProduktu", konwertuje wartości w polu "Rabat" na format ciągu i jest wyświetlana w kolumnie Wyr1.

SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales;

Zwraca wartość "IDProduktu". Konwertuje wartości w polu "Rabat" na wartość podwójną dla wartości liczbowych i ciąg dla wartości nieliczbowych.

Przykłady języka VBA

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać więcej informacji na temat pracy z językiem VBA, zobacz Dokumentacja języka VBA w programie Access.

Funkcja CBool

W tym przykładzie użyto funkcji CBool w celu przekonwertowania wyrażenia na wartość logiczną. Jeśli wyrażenie ma wartość niezerową, funkcja CBool zwraca wartość Prawda. w przeciwnym razie zwraca wartość False (Fałsz).

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.

Funkcja CByte

W tym przykładzie użyto funkcji CByte do przekonwertowania wyrażenia na bajt.

Dim MyDouble, MyByte
MyDouble = 125.5678    ' MyDouble is a Double.
MyByte = CByte(MyDouble)    ' MyByte contains 126.

Funkcja CCur

W tym przykładzie użyto funkcji CCur do przekonwertowania wyrażenia na wartość walutową.

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).

Funkcja CDate

W tym przykładzie użyto funkcji CDate w celu przekonwertowania ciągu na datę. Ogólnie rzecz biorąc, daty i godziny twardego kodowania jako ciągi (jak pokazano w tym przykładzie) nie są zalecane. Zamiast tego należy używać literałów dat i literałów godziny, takich jak #12-02-1969# i #16:45:23#.

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)

Funkcja CDbl

W tym przykładzie użyto funkcji CDbl w celu przekonwertowania wyrażenia na wartość Podwójna.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

Funkcja CDec

W tym przykładzie użyto funkcji CDec w celu przekonwertowania wartości liczbowej na wartość dziesiętną.

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587    ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr)     ' MyDecimal is a Decimal.

Funkcja CInt

W tym przykładzie użyto funkcji CInt w celu przekonwertowania wartości na liczbę całkowitą.

Dim MyDouble, MyInt
MyDouble = 2345.5678    ' MyDouble is a Double.
MyInt = CInt(MyDouble)    ' MyInt contains 2346.

Funkcja CLng

W tym przykładzie użyto funkcji CLng w celu przekonwertowania wartości na wartość Typu Liczba długa.

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.

Funkcja CSng

W tym przykładzie użyto funkcji CSng do konwertowania wartości na wartość Pojedyncza.

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.

Funkcja CStr

W tym przykładzie użyto funkcji CStr w celu przekonwertowania wartości liczbowej na ciąg.

Dim MyDouble, MyString
MyDouble = 437.324    ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

Funkcja CVar

W tym przykładzie użyto funkcji CVar w celu przekonwertowania wyrażenia na wartość typu wariant.

Dim MyInt, MyVar
MyInt = 4534    ' MyInt is an Integer.
MyVar = CVar(MyInt & "000") 
' MyVar contains the string 4534000.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.