VBA可用變量保存計算結(jié)果,設(shè)置屬性,指定方法的參數(shù)以及在過程間傳遞數(shù)值。為了提高效率,VBA為變量定義了一個數(shù)據(jù)類型的集合。在Access中,很多地方都要指定數(shù)據(jù)類型,例如過程中的變量、定義表和函數(shù)的參數(shù)等。
VBA支持多種數(shù)據(jù)類型,為用戶編程提供了許多方便。表6q列出了VBA程序中主要的數(shù)據(jù)類型,以及它們的存儲空間和取值范圍。
VBA的數(shù)據(jù)類型表
數(shù)據(jù)類型 存儲空間 取值范圍
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)時為+/一79 228 162 514 264 337 593 543 950
335,有小數(shù)點(diǎn)時,有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有相同的取值范圍
用戶自定義 所有元素所需的存每個元素的取值范圍與它本身的數(shù)據(jù)類型的取值范圍相同
(利用Type) 儲空間
對數(shù)據(jù)類型的幾種特殊情況說明如下:
(1)表示數(shù)值型數(shù)據(jù)的符號
整型用符號“%”表示,長整型用“&”表示,單精度型用“!”表示,雙精度型用“#”表示。小數(shù)型數(shù)據(jù)僅用在變量Variant數(shù)據(jù)中。也就是說,用戶不能用Decimal關(guān)鍵字來定義某個變量,但可用Cdec函數(shù)創(chuàng)建子類型為小數(shù)型的變量類型數(shù)據(jù)。
(2)布爾型數(shù)據(jù)的值
布爾型數(shù)據(jù)只有兩種值:True和False。將其他數(shù)值類型轉(zhuǎn)換為布爾數(shù)據(jù)類型時,0為False,其他值均為True。當(dāng)布爾型值轉(zhuǎn)換為其他數(shù)據(jù)類型時,F(xiàn)alse轉(zhuǎn)換為O,True轉(zhuǎn)換為一1。
(3)日期型變量的值
任何可以識別的文本日期都可賦給日期變量。日期文字必須用符號“#”括起來。例如“#Januaryl998#”或“#1Jan98#”。
日期變量以計算機(jī)中的短日期格式顯示,時間則以計算機(jī)的時間格式(12小時或24小時)顯示。
將其他數(shù)值類型轉(zhuǎn)換為日期變量時,小數(shù)點(diǎn)左邊的值表示日期信息,小數(shù)點(diǎn)右邊的值則表示時間。午夜為O,中午為0.5,負(fù)整數(shù)表示1899年12月30日之前的日期。
(4)變量的初始化
vBA在初始化變量時,將數(shù)值變量初始化為O,變長字符串初始化為零長度字符串 (””),對定長字符串都填上零,將Variant變量初始化為Empty,將每個用戶定義的類型變量的元素都當(dāng)成個別的變量來初始化。
(5)Variant數(shù)據(jù)類型
如果未給變量指定數(shù)據(jù)類型,則Access將自動指定其為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ù)類型,以及它們的存儲空間和取值范圍。
VBA的數(shù)據(jù)類型表
數(shù)據(jù)類型 存儲空間 取值范圍
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)時為+/一79 228 162 514 264 337 593 543 950
335,有小數(shù)點(diǎn)時,有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有相同的取值范圍
用戶自定義 所有元素所需的存每個元素的取值范圍與它本身的數(shù)據(jù)類型的取值范圍相同
(利用Type) 儲空間
對數(shù)據(jù)類型的幾種特殊情況說明如下:
(1)表示數(shù)值型數(shù)據(jù)的符號
整型用符號“%”表示,長整型用“&”表示,單精度型用“!”表示,雙精度型用“#”表示。小數(shù)型數(shù)據(jù)僅用在變量Variant數(shù)據(jù)中。也就是說,用戶不能用Decimal關(guān)鍵字來定義某個變量,但可用Cdec函數(shù)創(chuàng)建子類型為小數(shù)型的變量類型數(shù)據(jù)。
(2)布爾型數(shù)據(jù)的值
布爾型數(shù)據(jù)只有兩種值:True和False。將其他數(shù)值類型轉(zhuǎn)換為布爾數(shù)據(jù)類型時,0為False,其他值均為True。當(dāng)布爾型值轉(zhuǎn)換為其他數(shù)據(jù)類型時,F(xiàn)alse轉(zhuǎn)換為O,True轉(zhuǎn)換為一1。
(3)日期型變量的值
任何可以識別的文本日期都可賦給日期變量。日期文字必須用符號“#”括起來。例如“#Januaryl998#”或“#1Jan98#”。
日期變量以計算機(jī)中的短日期格式顯示,時間則以計算機(jī)的時間格式(12小時或24小時)顯示。
將其他數(shù)值類型轉(zhuǎn)換為日期變量時,小數(shù)點(diǎn)左邊的值表示日期信息,小數(shù)點(diǎn)右邊的值則表示時間。午夜為O,中午為0.5,負(fù)整數(shù)表示1899年12月30日之前的日期。
(4)變量的初始化
vBA在初始化變量時,將數(shù)值變量初始化為O,變長字符串初始化為零長度字符串 (””),對定長字符串都填上零,將Variant變量初始化為Empty,將每個用戶定義的類型變量的元素都當(dāng)成個別的變量來初始化。
(5)Variant數(shù)據(jù)類型
如果未給變量指定數(shù)據(jù)類型,則Access將自動指定其為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。