Tür Dönüştürme İşlevleri

Uygulandığı Öğe
Microsoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Her işlev bir ifadeyi belirli bir veri türüne dönüştürür.

Söz dizimi

  • CBool(expression)
  • CByte(expression)
  • CCur(expression)
  • CDate(expression)
  • CDbl(expression)
  • CDec(expression)
  • CInt(expression)
  • CLng(expression)
  • CSng(expression)
  • CStr(expression)
  • CVar(expression)

Gerekli expression bağımsız değişken herhangi bir dize veya sayısal ifadedir.

İade türleri

İşlev adı, aşağıdaki tabloda gösterildiği gibi dönüş türünü belirler:

İşlev Dönüş türü Bağımsız değişken aralığı expression
CBool Boolean Geçerli herhangi bir dize veya sayısal ifade.
CByte Byte 0 ile 255.
CCur Currency -922,337,203,685,477.5808 ile 922,337,203,685,477.5807.
CDate Date Geçerli herhangi bir tarih ifadesi.
CDbl Double -1.79769313486231E308 negatif değerler için için -4.94065645841247E-324 ; 4.94065645841247E-324 pozitif değerler için için 1.79769313486232E308 .
CDec Decimal +/-79,228,162,514,264,337,593,543,950,335 sıfır ölçekli sayılar veya ondalık basamağı olmayan sayılar için. Ondalık basamaklı sayılar 28 için aralık .+/-7.9228162514264337593543950335 Mümkün olan en küçük sıfır olmayan sayı .0.0000000000000000000000000001
CInt Integer -32,768 Kesirler 32,767yuvarlanır.
CLng Long -2,147,483,648 Kesirler 2,147,483,647yuvarlanır.
CSng Single -3.402823E38 negatif değerler için için -1.401298E-45 ; 1.401298E-45 pozitif değerler için için 3.402823E38 .
CStr String Verilen değer, bağımsız değişkene expression bağlıdır.
CVar Variant Sayısal değerlerle Double aynı aralık. Sayısal olmayan değerlerle String aynı aralık.

Notlar

expression Girilen işleve iletilen değer, dönüştürmekte olduğunuz veri türü aralığının dışındaysa hata oluşur.

Genel olarak, bir işlemin sonucunun varsayılan tür yerine belirli bir veri türünü kullanması gerektiğini göstermek için veri türü dönüştürme işlevlerini kullanarak kodunuzu belgeleyebilirsiniz. Örneğin, normalde tek duyarlıklı, çift duyarlıklı veya tamsayı aritmetiğinin gerçekleşeceği durumlarda para birimi aritmetiğini zorlamak için kullanın CCur .

Bir veri türünden diğerine yerel ayara duyarlı dönüştürmeler sağlamak yerine veri türü dönüştürme işlevlerini Val kullanın. Örneğin, uygulamayı kullandığınızda CCurAccess, bilgisayarınızın yerel ayarına bağlı olarak farklı ondalık ayırıcıları, binlik ayırıcıları ve para birimi seçeneklerini tanır.

Kesirli kısım tam 0.5olduğunda ve CIntCLng her zaman en yakın çift sayıya yuvarlayın. Örneğin, 0.5 'ye ve 1.5 'ye 02yuvarlar. CInt ve CLng bir sayının Fix kesirli kısmını yuvarlamak yerine kesen ve Int işlevlerinden farklıdır. Fix ve Int ayrıca her zaman ilettiğiniz türden bir değer döndürür.

IsDate Tarihe veya saate dönüştürülüp dönüştürülemeyeceğini date saptamak için işlevi kullanın. CDate Kabul edilebilir tarih aralığına giren bazı sayıların yanı sıra tarih ve saat değişmez değerlerini tanır. Bir sayıyı tarihe dönüştürdüğünüzde, tam sayı kısmı tarihe dönüşür. Herhangi bir kesirli bölüm, günün gece yarısından başlayan bir saati haline gelir.

CDate Sistem yerel ayarınıza göre tarih biçimlerini tanır. Tanınan tarih ayarlarından farklı bir biçim sağlarsanız Access gün, ay ve yıl için doğru sırayı belirleyemeyebilir. Buna ek olarak, haftanın günü dizesini de içeriyorsa uzun tarih biçimini tanımaz.

Bu CVDate işlev ayrıca, Visual Basic'in önceki sürümleriyle uyumluluk açısından da kullanılabilir. 'nin CVDate söz dizimi işlevle CDate aynıdır. Ancak, CVDate gerçek Date tür yerine kimin alt türü olduğunu Date döndürürVariant. Access artık kendine özgü Date bir tür içerdiğinden, artık ihtiyacınız yoktur CVDate. Aynı etkiyi bir ifadeyi a'ya Date dönüştürüp ' Variantye atayarak da elde edebilirsiniz. Bu teknik, diğer içsel tiplerin eşdeğer Variant alt tiplerine dönüştürülmesi ile tutarlıdır.

Not

İşlev CDec ayrık bir veri türü döndürmez. Bunun yerine, her zaman değeri bir Decimal alt türe dönüştürülen bir Variant değer döndürür.

Sorgu örnekleri

Expression Sonuçlar
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; Ve FinalPrice'yi verir SalePrice ve 'den FinalPricebüyük olup olmadığını SalePrice değerlendirir. Doğruysa ve 0 yanlışsa döndürür-1.
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; Alandaki değerleri Quantity döndürürProductID, 'ye Bytedönüştürür ve bunları sütunda Expr1 görüntüler.
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; Alandaki değerleri DateofSale döndürürProductID, 'ye Datedönüştürür ve bunları sütunda Expr1 görüntüler.
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; Alandaki değerleri Discount döndürürProductID, 'ye Doubledönüştürür ve bunları sütunda Expr1 görüntüler.
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; Alandaki değerleri Discount döndürürProductID, 'ye Integerdönüştürür ve bunları sütunda Expr1 görüntüler.
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; Alandaki değerleri Discount döndürürProductID, 'ye Longdönüştürür ve bunları sütunda Expr1 görüntüler.
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; Alandaki değerleri Discount döndürürProductID, 'ye Singledönüştürür ve bunları sütunda Expr1 görüntüler.
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; Alandaki değerleri Discount döndürürProductID, 'ye Stringdönüştürür ve bunları sütunda Expr1 görüntüler.
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; Sayısal ProductIDDiscount değerleri döndürür, 'ye Doubledönüştürür ve sayısal olmayan değerleri 'ye Stringdönüştürür.

VBA örnekleri

Not

Aşağıdaki örneklerde bu işlevin bir Visual Basic for ApplicationsVisual Basic for Applications (VBA) modülünde nasıl kullanılacağı gösterilmektedir. VBA ile çalışma hakkında daha fazla bilgi için Access VBA başvurusuna bakın.

CBool işlevi

Bu örnekte, bir ifadeyi CBool .Boolean İfade sıfır olmayan bir değer CBool değerlendirirse döndürür True; aksi takdirde False.

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 işlevi

Bu örnekte, bir ifadeyi CByte .Byte

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

CCur işlevi

Bu örnekte, bir ifadeyi CCur .Currency

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 işlevi

Bu örnek, bir dizeyi CDate .Date Genel olarak, bu örnekte gösterildiği gibi tarih ve saatlerin dize olarak sabit kodlanması önerilmez. Bunun yerine ve gibi tarih ve saat sabit değerlerini #2/12/1969##4:45:23 PM#kullanın.

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 işlevi

Bu örnekte, bir ifadeyi CDbl .Double

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

CDec işlevi

Bu örnekte, CDec sayısal bir değeri .Decimal

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

CInt işlevi

Bu örnekCInt, bir değeri .Integer

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

CLng işlevi

Bu örnekCLng, bir değeri .Long

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 işlevi

Bu örnekCSng, bir değeri .Single

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 işlevi

Bu örnekte, CStr sayısal bir değeri .String

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

CVar işlevi

Bu örnekte, bir ifadeyi CVar .Variant

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