VBA可用變量保存計(jì)算結(jié)果,設(shè)置屬性,指定方法的參數(shù)以及在過程間傳遞數(shù)值。為了提高效率,VBA為變量定義了一個(gè)數(shù)據(jù)類型的集合。在Access中,很多地方都要指定數(shù)據(jù)類型,例如過程中的變量、定義表和函數(shù)的參數(shù)等。
VBA支持多種數(shù)據(jù)類型,為用戶編程提供了許多方便。表6q列出了VBA程序中主要的數(shù)據(jù)類型,以及它們的存儲(chǔ)空間和取值范圍。
VBA的數(shù)據(jù)類型表
數(shù)據(jù)類型 存儲(chǔ)空間 取值范圍
Byte(字節(jié)型) 1字節(jié)0~255
Boolean(布爾型) 2字節(jié)True或False
Integer(整型) 2字節(jié) 一32 768~32 767
Long(長整型)4字節(jié) 一2 147 483 648~2 147 483 647
Single 4字節(jié) 負(fù)數(shù):一3.402823E38~一1.401298E--45
(單精度浮點(diǎn)型) 正數(shù):1.401298E~45~3.402823E38
Double 8字節(jié) 負(fù)數(shù):一1.79769313486232E308--一4.94065645841247E--324
(雙精度浮點(diǎn)型) 正數(shù):4.94065645841247E--324~1.7976931 3486232E308
Currency(貨幣型)8字節(jié) 一922 337 203 685 477.5808~922 337 203 685 477.5807
Decimal(小數(shù)型) 14字節(jié) 無小數(shù)點(diǎn)時(shí)為+/一79 228 162 514 264 337 593 543 950
335,有小數(shù)點(diǎn)時(shí),有28位數(shù),為十/一7.9228162514264337593543950335,最小的非零值
為+/一0.0000000000000000000000000001
Date(日期型)8字節(jié) 100年1月1日到9999年12月31日
Object(對象型)4字節(jié) 任何Object引用
String(變長) 10字節(jié)十字符串長0到大約20億
String(定長) 字符串長 1到大約65 400
Variant(數(shù)字) 16字節(jié) 任何數(shù)字值,可達(dá)Double的取值范圍
Variant(字符) 22字節(jié)+字符串長 與變長String有相同的取值范圍
用戶自定義 所有元素所需的存每個(gè)元素的取值范圍與它本身的數(shù)據(jù)類型的取值范圍相同
(利用Type) 儲(chǔ)空間
對數(shù)據(jù)類型的幾種特殊情況說明如下:
(1)表示數(shù)值型數(shù)據(jù)的符號
整型用符號“%”表示,長整型用“&”表示,單精度型用“!”表示,雙精度型用“#”表示。小數(shù)型數(shù)據(jù)僅用在變量Variant數(shù)據(jù)中。也就是說,用戶不能用Decimal關(guān)鍵字來定義某個(gè)變量,但可用Cdec函數(shù)創(chuàng)建子類型為小數(shù)型的變量類型數(shù)據(jù)。
(2)布爾型數(shù)據(jù)的值
布爾型數(shù)據(jù)只有兩種值:True和False。將其他數(shù)值類型轉(zhuǎn)換為布爾數(shù)據(jù)類型時(shí),0為False,其他值均為True。當(dāng)布爾型值轉(zhuǎn)換為其他數(shù)據(jù)類型時(shí),F(xiàn)alse轉(zhuǎn)換為O,True轉(zhuǎn)換為一1。
(3)日期型變量的值
任何可以識別的文本日期都可賦給日期變量。日期文字必須用符號“#”括起來。例如“#Januaryl998#”或“#1Jan98#”。
日期變量以計(jì)算機(jī)中的短日期格式顯示,時(shí)間則以計(jì)算機(jī)的時(shí)間格式(12小時(shí)或24小時(shí))顯示。
將其他數(shù)值類型轉(zhuǎn)換為日期變量時(shí),小數(shù)點(diǎn)左邊的值表示日期信息,小數(shù)點(diǎn)右邊的值則表示時(shí)間。午夜為O,中午為0.5,負(fù)整數(shù)表示1899年12月30日之前的日期。
(4)變量的初始化
vBA在初始化變量時(shí),將數(shù)值變量初始化為O,變長字符串初始化為零長度字符串 (””),對定長字符串都填上零,將Variant變量初始化為Empty,將每個(gè)用戶定義的類型變量的元素都當(dāng)成個(gè)別的變量來初始化。
(5)Variant數(shù)據(jù)類型
如果未給變量指定數(shù)據(jù)類型,則Access將自動(dòng)指定其為Variant(變體)數(shù)據(jù)類型。Variant是一種特殊的數(shù)據(jù)類型,除了定長string數(shù)據(jù)及用戶定義類型外,可以包含任何種類的數(shù)據(jù)。Variant也可以包含Empty、Error、Not,hing及Null特殊值。可以用Var—Type函數(shù)或TypeName函數(shù)來決定如何處理Variant中的數(shù)據(jù)。
可以用Variant數(shù)據(jù)類型來替換任何數(shù)據(jù)類型。如果Variant變量的內(nèi)容是數(shù)字,則可以用字符串來表示數(shù)字,或是用它實(shí)際的值來表示,這要由上下文來決定。例如,假定變量的聲明和賦值語句為:
Dim MyVar As Variant
MyVar一98052
則MyVar變量的值為數(shù)值98 052。
VBA支持多種數(shù)據(jù)類型,為用戶編程提供了許多方便。表6q列出了VBA程序中主要的數(shù)據(jù)類型,以及它們的存儲(chǔ)空間和取值范圍。
VBA的數(shù)據(jù)類型表
數(shù)據(jù)類型 存儲(chǔ)空間 取值范圍
Byte(字節(jié)型) 1字節(jié)0~255
Boolean(布爾型) 2字節(jié)True或False
Integer(整型) 2字節(jié) 一32 768~32 767
Long(長整型)4字節(jié) 一2 147 483 648~2 147 483 647
Single 4字節(jié) 負(fù)數(shù):一3.402823E38~一1.401298E--45
(單精度浮點(diǎn)型) 正數(shù):1.401298E~45~3.402823E38
Double 8字節(jié) 負(fù)數(shù):一1.79769313486232E308--一4.94065645841247E--324
(雙精度浮點(diǎn)型) 正數(shù):4.94065645841247E--324~1.7976931 3486232E308
Currency(貨幣型)8字節(jié) 一922 337 203 685 477.5808~922 337 203 685 477.5807
Decimal(小數(shù)型) 14字節(jié) 無小數(shù)點(diǎn)時(shí)為+/一79 228 162 514 264 337 593 543 950
335,有小數(shù)點(diǎn)時(shí),有28位數(shù),為十/一7.9228162514264337593543950335,最小的非零值
為+/一0.0000000000000000000000000001
Date(日期型)8字節(jié) 100年1月1日到9999年12月31日
Object(對象型)4字節(jié) 任何Object引用
String(變長) 10字節(jié)十字符串長0到大約20億
String(定長) 字符串長 1到大約65 400
Variant(數(shù)字) 16字節(jié) 任何數(shù)字值,可達(dá)Double的取值范圍
Variant(字符) 22字節(jié)+字符串長 與變長String有相同的取值范圍
用戶自定義 所有元素所需的存每個(gè)元素的取值范圍與它本身的數(shù)據(jù)類型的取值范圍相同
(利用Type) 儲(chǔ)空間
對數(shù)據(jù)類型的幾種特殊情況說明如下:
(1)表示數(shù)值型數(shù)據(jù)的符號
整型用符號“%”表示,長整型用“&”表示,單精度型用“!”表示,雙精度型用“#”表示。小數(shù)型數(shù)據(jù)僅用在變量Variant數(shù)據(jù)中。也就是說,用戶不能用Decimal關(guān)鍵字來定義某個(gè)變量,但可用Cdec函數(shù)創(chuàng)建子類型為小數(shù)型的變量類型數(shù)據(jù)。
(2)布爾型數(shù)據(jù)的值
布爾型數(shù)據(jù)只有兩種值:True和False。將其他數(shù)值類型轉(zhuǎn)換為布爾數(shù)據(jù)類型時(shí),0為False,其他值均為True。當(dāng)布爾型值轉(zhuǎn)換為其他數(shù)據(jù)類型時(shí),F(xiàn)alse轉(zhuǎn)換為O,True轉(zhuǎn)換為一1。
(3)日期型變量的值
任何可以識別的文本日期都可賦給日期變量。日期文字必須用符號“#”括起來。例如“#Januaryl998#”或“#1Jan98#”。
日期變量以計(jì)算機(jī)中的短日期格式顯示,時(shí)間則以計(jì)算機(jī)的時(shí)間格式(12小時(shí)或24小時(shí))顯示。
將其他數(shù)值類型轉(zhuǎn)換為日期變量時(shí),小數(shù)點(diǎn)左邊的值表示日期信息,小數(shù)點(diǎn)右邊的值則表示時(shí)間。午夜為O,中午為0.5,負(fù)整數(shù)表示1899年12月30日之前的日期。
(4)變量的初始化
vBA在初始化變量時(shí),將數(shù)值變量初始化為O,變長字符串初始化為零長度字符串 (””),對定長字符串都填上零,將Variant變量初始化為Empty,將每個(gè)用戶定義的類型變量的元素都當(dāng)成個(gè)別的變量來初始化。
(5)Variant數(shù)據(jù)類型
如果未給變量指定數(shù)據(jù)類型,則Access將自動(dòng)指定其為Variant(變體)數(shù)據(jù)類型。Variant是一種特殊的數(shù)據(jù)類型,除了定長string數(shù)據(jù)及用戶定義類型外,可以包含任何種類的數(shù)據(jù)。Variant也可以包含Empty、Error、Not,hing及Null特殊值。可以用Var—Type函數(shù)或TypeName函數(shù)來決定如何處理Variant中的數(shù)據(jù)。
可以用Variant數(shù)據(jù)類型來替換任何數(shù)據(jù)類型。如果Variant變量的內(nèi)容是數(shù)字,則可以用字符串來表示數(shù)字,或是用它實(shí)際的值來表示,這要由上下文來決定。例如,假定變量的聲明和賦值語句為:
Dim MyVar As Variant
MyVar一98052
則MyVar變量的值為數(shù)值98 052。