日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Access和Access VBA学习总结

發(fā)布時(shí)間:2025/4/14 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Access和Access VBA学习总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

access具有哪些數(shù)據(jù)類(lèi)型,各有什么作用



Access允許九種數(shù)據(jù)類(lèi)型:文本、備注、數(shù)值、日期/時(shí)間、貨幣、自動(dòng)編號(hào)、是/否、OLE對(duì)象、超級(jí)鏈接、查詢(xún)向?qū)АT诒淼脑O(shè)計(jì)視圖中,每一個(gè)字段都有設(shè)計(jì)類(lèi)型。


 文本:這種類(lèi)型允許最大255個(gè)字符或數(shù)字,Access默認(rèn)的大小是50個(gè)字符,而且系統(tǒng)只保存輸入到字段中的字符,而不保存文本字段中未用位置上的空字符。可以設(shè)置“字段大小”屬性控制可輸入的最大字符長(zhǎng)度。


 備注:這種類(lèi)型用來(lái)保存長(zhǎng)度較長(zhǎng)的文本及數(shù)字,它允許字段能夠存儲(chǔ)長(zhǎng)達(dá)64000個(gè)字符的內(nèi)容。但Access不能對(duì)備注字段進(jìn)行排序或索引,卻可以對(duì)文本字段進(jìn)行排序和索引。在備注字段中雖然可以搜索文本,但卻不如在有索引的文本字段中搜索得快。


 數(shù)字:這種字段類(lèi)型可以用來(lái)存儲(chǔ)進(jìn)行算術(shù)計(jì)算的數(shù)字?jǐn)?shù)據(jù),用戶(hù)還可以設(shè)置“字段大小”屬性定義一個(gè)特定的數(shù)字類(lèi)型,任何指定為數(shù)字?jǐn)?shù)據(jù)類(lèi)型的字型可以設(shè)置成“字節(jié)”、“整數(shù)”、“長(zhǎng)整數(shù)”、“單精度數(shù)”、“雙精度數(shù)”、“同步復(fù)制ID”、“小數(shù)”五種


類(lèi)型。在Access中通常默認(rèn)為“雙精度數(shù)”。


日期/時(shí)間:這種類(lèi)型是用來(lái)存儲(chǔ)日期、時(shí)間或日期時(shí)間一起的,每個(gè)日期/時(shí)間字段需要8個(gè)字節(jié)來(lái)存儲(chǔ)空間。


 貨幣:這種類(lèi)型是數(shù)字?jǐn)?shù)據(jù)類(lèi)型的特殊類(lèi)型,等價(jià)于具有雙精度屬性的數(shù)字字段類(lèi)型。向貨幣字段輸入數(shù)據(jù)時(shí),不必鍵入人民幣符號(hào)和千位處的逗號(hào),Access會(huì)自動(dòng)顯示人民幣符號(hào)和逗號(hào),并添加兩位小數(shù)到貨幣字段。當(dāng)小數(shù)部分多于兩位時(shí),Access會(huì)對(duì)數(shù)據(jù)進(jìn)行四


舍五入。精確度為小數(shù)點(diǎn)左方15位數(shù)及右方4位數(shù)。


 自動(dòng)編號(hào):這種類(lèi)型較為特殊,每次向表格添加新記錄時(shí),Access會(huì)自動(dòng)插入唯一順序或者隨機(jī)編號(hào),即在自動(dòng)編號(hào)字段中指定某一數(shù)值。自動(dòng)編號(hào)一旦被指定,就會(huì)永久地與記錄連接。如果刪除了表格中含有自動(dòng)編號(hào)字段的一個(gè)記錄后,Access并不會(huì)為表格自動(dòng)編


號(hào)字段重新編號(hào)。當(dāng)添加某一記錄時(shí),Access不再使用已被刪除的自動(dòng)編號(hào)字段的數(shù)值,而是重新按遞增的規(guī)律重新賦值。


 是/否:這種字段是針對(duì)于某一字段中只包含兩個(gè)不同的可選值而設(shè)立的字段,通過(guò)是/否數(shù)據(jù)類(lèi)型的格式特性,用戶(hù)可以對(duì)是/否字段進(jìn)行選擇。


 OLE對(duì)象:這個(gè)字段是指字段允許單獨(dú)地“鏈接”或“嵌入”O(jiān)LE對(duì)象。添加數(shù)據(jù)到OLE對(duì)象字段時(shí),可以鏈接或嵌入Access表中的OLE對(duì)象是指在其他使用OLE協(xié)議程序創(chuàng)建的對(duì)象,例如WORD文檔、EXCEL電子表格、圖像、聲音或其他二進(jìn)制數(shù)據(jù)。OLE對(duì)象字段最大可為


1GB,它主要受磁盤(pán)空間限制。


 超級(jí)鏈接:這個(gè)字段主要是用來(lái)保存超級(jí)鏈接的,包含作為超級(jí)鏈接地址的文本或以文本形式存儲(chǔ)的字符與數(shù)字的組合。當(dāng)單擊一個(gè)超級(jí)鏈接時(shí),WEB瀏覽器或Access將根據(jù)超級(jí)鏈接地址到達(dá)指定的目標(biāo)。超級(jí)鏈接最多可包含三部分:一是在字段或控件中顯示的文本;


二是到文件或頁(yè)面的路徑;三是在文件或頁(yè)面中的地址。在這個(gè)字段或控件中插入超級(jí)鏈接地址最簡(jiǎn)單的方法就是在“插入”菜單中單擊“超級(jí)鏈接”命令。


 查閱向?qū)?#xff1a;這個(gè)字段類(lèi)型為用戶(hù)提供了一個(gè)建立字段內(nèi)容的列表,可以在列表中選擇所列內(nèi)容作為添入字段的內(nèi)容


二、如何確定字段數(shù)據(jù)類(lèi)型


1、和金錢(qián)有關(guān)的,用貨幣型,和金錢(qián)無(wú)關(guān)但需數(shù)值計(jì)算的選數(shù)字型,無(wú)需數(shù)值計(jì)算又不超過(guò)255個(gè)字符的選文本型,超過(guò)255個(gè)字符的選備注型。


2、如果只有兩個(gè)確定的值可供選擇,可以用是/否型,也可以用文本型。其他如日期型類(lèi)型,含義明顯,不再敘述。
========

ACCESS中的7種常用的數(shù)據(jù)類(lèi)型

?
1. 字符類(lèi)型:(VARCHAR、CHA)用于存儲(chǔ)字符數(shù)據(jù),最大長(zhǎng)度為255,ACCESS中有兩個(gè)字符數(shù)據(jù):VARCHAR和CHAR,前者用于存儲(chǔ)可變長(zhǎng)度字符串,后者用于存儲(chǔ)固定長(zhǎng)度字符串。固定長(zhǎng)度會(huì)用空格來(lái)填充不夠的位數(shù),并且檢索的時(shí)候要比可變的快。


2. 備注類(lèi)型:(MEMO)長(zhǎng)度為64000個(gè)字符,由于字符類(lèi)型數(shù)據(jù)的最大長(zhǎng)度為255個(gè)字節(jié),所以沒(méi)辦法存儲(chǔ)更長(zhǎng)的文字說(shuō)明,備注類(lèi)型數(shù)據(jù)就是為了解決這個(gè)問(wèn)題的。


?


3. 數(shù)字類(lèi)型:ACCESS中有6種數(shù)字類(lèi)型:


Byte 字節(jié)型 整數(shù) 0-255


Smallint 整型 整數(shù) -32000-32000


Integer(number) 長(zhǎng)整型 整數(shù) -2000000000-2000000000:9個(gè)0


Money(currency)貨幣性 整數(shù)和4位小數(shù) 正負(fù)900000000000000:14個(gè)0


Real 單精度 浮點(diǎn)數(shù)字 14.E-45 – 3.4E+38


Float 雙精度浮點(diǎn)數(shù)字 4.9E-324 – 1.8E+308


4. 日期時(shí)間類(lèi)型:(datetime)用于存儲(chǔ)日期值,時(shí)間值,日期時(shí)間混合值:


常規(guī)日期


常日期


中日期


短日期


長(zhǎng)時(shí)間


中時(shí)間


短時(shí)間


5. 自動(dòng)編號(hào)類(lèi)型:(counter)每增加一條記錄就會(huì)自動(dòng)增加一個(gè)編號(hào)。


6. 是否類(lèi)型:(yesno)對(duì)一個(gè)字段中包含的兩種不同的可選值。


7. ole對(duì)象類(lèi)型:允許單獨(dú)的鏈接或嵌入OLE對(duì)象。相關(guān):SQL數(shù)據(jù)庫(kù)。
========

access數(shù)據(jù)庫(kù)-表

字段數(shù)據(jù)類(lèi)型用小數(shù)注意點(diǎn)


有個(gè)網(wǎng)友問(wèn):字段數(shù)據(jù)類(lèi)型用小數(shù),輸入小數(shù),它會(huì)自動(dòng)保存為整數(shù),即小數(shù)部分會(huì)被舍去。
正 文:
? 遠(yuǎn)程一看,小數(shù) 字段屬性里 數(shù)值范圍 為0,這當(dāng)然不行了。截圖解疑


即輸入 ?23.6655555后,它會(huì)自動(dòng)保存為 23


即輸入 ?23.6655555后,它會(huì)自動(dòng)保存為 23.66555
所以小數(shù) 數(shù)值范圍寫(xiě)大點(diǎn),更適合。
========

【Access基礎(chǔ)掃盲】小數(shù)與null



摘 要:小數(shù),null 空值
正 文:
1.access的四舍五入規(guī)則為,任何小于或等于0.5的小數(shù)部分都舍去,這一點(diǎn)請(qǐng)注意。經(jīng)四舍五入后,6.5成為6,6.51成為7.
普通除法:200/6=33.333;200.6/6.8=29.5; 200.8/6.5=30.892
整數(shù)除法:200\6=33; 200.6\6.8=28; 200.8\6.5=33; ?
200.8\6.8相當(dāng)于int(201\7),其中int是取整函數(shù)。
2.比較運(yùn)算符
在所有的比較運(yùn)算符情況下,如果第一個(gè)值或第二個(gè)值為Null(空),則結(jié)果也為Null。由于Null表示未知值,因此與Null進(jìn)行的任何比較的結(jié)果也是未知的。這一點(diǎn)需特別注意。當(dāng)有一個(gè)值出現(xiàn)空值時(shí)會(huì)影響比較結(jié)果。
參考:【Access掃盲】用查詢(xún)找出2個(gè)表中相同與不同部分 (在此示例查詢(xún)sql代碼中加入null,否則影響效果)。因?yàn)槌跗诓欢畁ull作用,現(xiàn)在明白了!
========

0、""(空字串)、Null、Empty、與 Nothing 的區(qū)別



摘 要:先回答以下問(wèn)題吧! 經(jīng)過(guò)以下的敘述之后, 變量 A、B、C、D 分別等于 0、""、Null、 Empty、 Nothing 的哪一個(gè)?


正 文:
Dim A
Dim B As String
Dim C As Integer
Dim D As Object
A 等于 Empty, 因?yàn)樯形闯跏蓟摹覆欢ㄐ妥兞俊苟嫉扔?Empty。但如果檢測(cè) A = "" 或 A = 0, 也都可以得到 True 值。
B 等于 "", 因?yàn)樯形闯跏蓟姆枪潭ㄩL(zhǎng)度「字串」都等于 "" 。 但請(qǐng)注意 B<> Null。
C 等于 0, 這個(gè)還有問(wèn)題嗎?
D 等于 Nothing, 尚未設(shè)定有物件的「物件變量」都等于 Nothing, 但請(qǐng)不要使用 D = Nothing , 而要使用 D Is Nothing 來(lái)判斷 D 是否等于 Nothing, 因?yàn)榕袛?是否相等的符號(hào)是 Is 不是 = 。
最令人迷惑的地方是 Null 這個(gè)保留字, 請(qǐng)看以下語(yǔ)句:
Print X = Null
Print X <> Null
結(jié)果都是輸出 Null(不是 True 也不是 False), 這是因?yàn)槿魏我粋€(gè)運(yùn)算式只要含有 Null , 則該運(yùn)算式就等于 Null, 實(shí)際上想要判斷某一數(shù)據(jù)是否為 Null 絕對(duì)不能使用:
If X = Null Then ' 永遠(yuǎn)都會(huì)得到 Null
而要使用:
If IsNull(X) Then
哪一種數(shù)據(jù)會(huì)等于 Null 呢? 除了含有 Null 運(yùn)算式之外, 就屬?zèng)]有輸入任何數(shù)據(jù)的「數(shù)據(jù)字段」(在數(shù)據(jù)庫(kù)中) 會(huì)等于 Null。?
========

Access sql語(yǔ)句創(chuàng)建表及字段類(lèi)型

創(chuàng)建一張空表: Sql="Create TABLE [表名]"


創(chuàng)建一張有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))


字段類(lèi)型: ??


2 : "SmallInt", ? ? ? ? ? ? ? ? // 整型 ? ?
3 : "Int", ? ? ? ? ? ? ? ? // 長(zhǎng)整型 ? ?
4 : "Real", ? ? ? ? ? ? ? ? // 單精度型 ? ?
5 : "Float", ? ? ? ? ? ? ? ? // 雙精度型 ? ?
6 : "Money", ? ? ? ? ? ? ? ? // 貨幣 ? ?
7 : "DateTime", ? ? ? ? ? ? ? ? // 日期時(shí)間?
11 : "Bit", ? ? ? ? ? ? ? ? // 是否?
13 : "TimeStamp",?
17 : "TinyInt", ? ? ? ? ? ? ? ? // 字節(jié)?
72 : "UniqueIdentifier", ? ? ? ? // 同步復(fù)制 ID?
128 : "Binary",?
129 : "Char",?
130 : "NChar",?
131 : "Decimal", ? ? ? ? ? ? ? ? // 小數(shù)?
133 : "DateTime",?
135 : "SmallDateTime",?
200 : "VarChar",?
201 : "Text",?
202 : "VarChar", ? ? ? ? ? ? ? ? // 文本?
203 : "Text", ? ? ? ? ? ? ? ? // 備注?
204 : "Binary", ? ? ? ? ? ? ? ? // 二進(jìn)制?
205 : "Image" ? ? ? ? ? ? ? ? // OLE 對(duì)象


以下字段為無(wú)編碼字段(NChar、NVarchar、NText型) 8,128,130,202,203,204,205 以下字段為按當(dāng)前系統(tǒng)內(nèi)碼編碼的字段(Asp中可用CodePage=936糾正為gb2312內(nèi)碼) 129,200,201


在現(xiàn)有的表中增加字段:?
Sql="alter table [表名] add column [字段名] varchar(200)"


修改字段類(lèi)型:?
Sql="alter table [表名] Alter COLUMN 字段名] ? varchar(50)"


刪除表:?
Sql="Drop table [表名]"


刪除字段:?
sql="alter table [表名] drop [字段名]"


修改字段:
Alter TABLE [表名] Alter COLUMN [字段名] 類(lèi)型(大小) NULL


新建約束:
Alter TABLE [表名] ADD CONSTRAINT 約束名 CHECK ([約束字段] <= '2007-1-1')


刪除約束:
Alter TABLE [表名] Drop CONSTRAINT 約束名


新建默認(rèn)值:
Alter TABLE [表名] ADD CONSTRAINT 默認(rèn)值名 DEFAULT 'Gziu.CoM' FOR [字段名]


刪除默認(rèn)值:
Alter TABLE [表名] Drop CONSTRAINT 默認(rèn)值名


=======================================


conn.open connstr sql="alter table [tablename] add hehe char(20)" conn.execute(sql) response.write("添加成功")


ACCESS新建數(shù)據(jù)庫(kù)和表還不簡(jiǎn)單,有了表字段初始化就更簡(jiǎn)單


=======================================


<%?
session("tablen")="news"?
'news是已存在的表名?
session("fieldsn")="c"?
'要添加的字段名
connectionstring="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/qq.mdb")?
set conn=server.createobject("adodb.connection")?
conn.OPEN connectionstring?
jhsql = " Alter Table "&session("tablen")&" add column "&session("fieldsn")&" real "?
conn.execute(jhsql)
%>


================================


生成數(shù)據(jù)表,添加字段,其中id字段為自動(dòng)增加,測(cè)試通過(guò)~~


Sub GenAutoIncrementFld()?
set cn=server.CreateObject("ADODB.Connection")?
set clx=server.CreateObject("ADOX.Column")?
set cat=server.CreateObject("ADOX.Catalog")?
set tblnam=server.CreateObject("ADOX.Table")


cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\網(wǎng)站制作\asp操作mdb\db\test.mdb" ? ? ?
Set cat.ActiveConnection = cn


tblnam.Name = "Test" ? ? ?
clx.ParentCatalog = cat
? ?
clx.Type = 3 ? ? ?
clx.Name = "Id" ? ??
clx.Properties("AutoIncrement") = true ? ? ?
tblnam.Columns.Append clx ? ? ?
tblnam.Columns.Append "DataField",130,20 ? ? ?
cat.Tables.Append tblnam


? ? ?Set clx = Nothing
? ? ?Set cat = Nothing
? ? ?cn.Close
? ? ?Set cn = Nothing End Sub


call GenAutoIncrementFld


===================================


字段類(lèi)型對(duì)應(yīng)數(shù)值


''---- DataTypeEnum Values ----?
Const adEmpty = 0
Const adTinyInt = 16
Const adSmallInt = 2
Const adInteger = 3
Const adBigInt = 20
Const adUnsignedTinyInt = 17
Const adUnsignedSmallInt = 18
Const adUnsignedInt = 19
Const adUnsignedBigInt = 21
Const adSingle = 4
Const adDouble = 5
Const adCurrency = 6
Const adDecimal = 14
Const adNumeric = 131
Const adBoolean = 11
Const adError = 10
Const adUserDefined = 132
Const adVariant = 12
Const adIDispatch = 9
Const adIUnknown = 13
Const adGUID = 72
Const adDate = 7
Const adDBDate = 133?
Const adDBTime = 134
Const adDBTimeStamp = 135
Const adBSTR = 8
Const adChar = 129
Const adVarChar = 200
Const adLongVarChar = 201
Const adWChar = 130
Const adVarWChar = 202
Const adLongVarWChar = 203
Const adBinary = 128
Const adVarBinary = 204
Const adLongVarBinary = 205
Const adChapter = 136
Const adFileTime = 64
Const adPropVariant = 138
Const adVarNumeric = 139
Const adArray = &H2000
========
Access數(shù)據(jù)類(lèi)型轉(zhuǎn)換
每個(gè)函數(shù)都可以將表達(dá)式 (表達(dá)式:算術(shù)或邏輯運(yùn)算符、常數(shù)、函數(shù)和字段名稱(chēng)、控件和屬性的任意組合,計(jì)算結(jié)果為單個(gè)值。表達(dá)式可執(zhí)行計(jì)算、操作字符或測(cè)試數(shù)據(jù)。)強(qiáng)制轉(zhuǎn)換為特定的數(shù)據(jù)類(lèi)型 (數(shù)據(jù)類(lèi)型:決定字段可擁有的數(shù)據(jù)類(lèi)型的字段特征。數(shù)據(jù)類(lèi)型包括?


Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant(默認(rèn))。)。
語(yǔ)法
CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression)
CVar(expression)
必選的 expression 參數(shù) (參數(shù):為操作、事件、方法、屬性、函數(shù)或過(guò)程提供信息的值。)是任何字符串表達(dá)式 (字符串表達(dá)式:任一求值為一列連續(xù)字符的表達(dá)式。表達(dá)式的元素可以是:返回字符串或字符串 Variant (VarType 8) 的函數(shù);字符串字面值、常量、變


量或 Variant。)或數(shù)值表達(dá)式 (數(shù)值表達(dá)式:計(jì)算結(jié)果為數(shù)字的任何表達(dá)式。表達(dá)式可以是變量、常數(shù)、函數(shù)和運(yùn)算符的任意組合。)。
返回類(lèi)型
函數(shù)名稱(chēng)決定返回類(lèi)型,如下所示:
函數(shù)


返回類(lèi)型


EXPRESSION 參數(shù)的范圍


CBool


Boolean


任何有效的字符串或數(shù)值表達(dá)式。


CByte


Byte


0 到 255。


CCur


Currency


-922,337,203,685,477.5808 到 922,337,203,685,477.5807。


CDate


Date


任何有效的日期表達(dá)式。


CDbl


Double


對(duì)于負(fù)值,-1.79769313486231E308 到?
-4.94065645841247E-324;對(duì)于正值,4.94065645841247E-324 到 1.79769313486232E308。


CDec


Decimal


對(duì)于整數(shù)(即沒(méi)有小數(shù)的數(shù)字),+/-79,228,162,514,264,337,593,543,950,335。對(duì)于具有 28 位小數(shù)的數(shù)字,值域范圍是?
+/-7.9228162514264337593543950335。可能的最小非零數(shù)字為 0.0000000000000000000000000001。


CInt


Integer


-32,768 到 32,767;小數(shù)部分被四舍五入。


CLng


Long


-2,147,483,648 到 2,147,483,647;小數(shù)部分被四舍五入。


CSng


Single


對(duì)于負(fù)值,-3.402823E38 到 -1.401298E-45;對(duì)于正值,1.401298E-45 到 3.402823E38。


CStr


String


CStr 的返回值取決于 expression 參數(shù)。


CVar


Variant


對(duì)于數(shù)字,與雙精度型的值域范圍相同。對(duì)于非數(shù)字值,與 String 的值域范圍相同。


注解
如果傳遞給該函數(shù)的 expression 位于要轉(zhuǎn)換為的目標(biāo)數(shù)據(jù)類(lèi)型的值域范圍之外,則將發(fā)生錯(cuò)誤。
通常,可以在代碼中使用數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù),以表明某個(gè)操作的結(jié)果應(yīng)表示為特定數(shù)據(jù)類(lèi)型而非默認(rèn)的數(shù)據(jù)類(lèi)型。例如,使用 CCur 在通常會(huì)出現(xiàn)單精度、雙精度或整型運(yùn)算的地方強(qiáng)制使用貨幣運(yùn)算。
應(yīng)該使用數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)而不是 Val 來(lái)提供數(shù)據(jù)類(lèi)型之間國(guó)際認(rèn)可的轉(zhuǎn)換。例如,當(dāng)使用 CCur 時(shí),不同的小數(shù)點(diǎn)、不同的千位分隔符以及各種貨幣選項(xiàng)都會(huì)根據(jù)計(jì)算機(jī)的區(qū)域設(shè)置正確識(shí)別。
當(dāng)小數(shù)部分恰好為 0.5 時(shí),CInt 和 CLng 始終都會(huì)將其舍入到最接近的偶數(shù)。例如,0.5 舍入到 0,而 1.5 舍入到 2。CInt 和 CLng 與 Fix 和 Int 函數(shù)不同,后者會(huì)將數(shù)字的小數(shù)部分截?cái)?#xff0c;而不會(huì)對(duì)其進(jìn)行舍入。另外,Fix 和 Int 會(huì)始終返回與傳入類(lèi)型相同類(lèi)型


的值。
可以使用 IsDate 函數(shù)確定 date 是否可以轉(zhuǎn)換為日期或時(shí)間。CDate 可識(shí)別日期文本和時(shí)間文本,以及處于可接受的日期范圍內(nèi)的某些數(shù)字。將數(shù)字轉(zhuǎn)換為日期時(shí),整數(shù)部分將被轉(zhuǎn)換為日期。數(shù)字的任何小數(shù)部分都將被轉(zhuǎn)換為一天中的時(shí)間(從午夜 12 點(diǎn)開(kāi)始計(jì)算)



CDate 將根據(jù)系統(tǒng)的區(qū)域設(shè)置 (區(qū)域設(shè)置:對(duì)應(yīng)于給定語(yǔ)言和國(guó)家/地區(qū)的一組信息。)識(shí)別日期格式。如果采用可識(shí)別的日期設(shè)置之外的其他格式提供日期值,則可能無(wú)法確定正確的年、日、月順序。此外,如果長(zhǎng)日期格式中還包含星期字符串,也不能識(shí)別此格式。
CVDate 函數(shù)也提供了與 Visual Basic 早期版本的兼容性。CVDate 函數(shù)的語(yǔ)法與 CDate 函數(shù)的語(yǔ)法相同;不過(guò),CVDate 會(huì)返回一個(gè) Variant 值(其子類(lèi)型為 Date)而不是實(shí)際的 Date 類(lèi)型。由于目前存在一個(gè)固有的 Date 類(lèi)型,因此已不再需要 CVDate 了。可以


將表達(dá)式轉(zhuǎn)換為 Date,然后將其賦值給 Variant,從而達(dá)到相同的效果。此技術(shù)與所有其他固有類(lèi)型到其對(duì)應(yīng)的 Variant 子類(lèi)型的轉(zhuǎn)換一致。
?注釋 ? ?CDec 函數(shù)不會(huì)返回離散數(shù)據(jù)類(lèi)型;相反,它會(huì)始終返回一個(gè)其值已轉(zhuǎn)換為 Decimal 子類(lèi)型的 Variant。
示例
?注釋 ? 以下示例演示了此功能在 Visual Basic for Applications (VBA) 模塊中的使用。有關(guān)使用 VBA 的詳細(xì)信息,請(qǐng)?jiān)凇八阉鳌迸赃叺南吕斜碇羞x擇“開(kāi)發(fā)人員參考”,然后在搜索框中輸入一個(gè)或多個(gè)詞條。
CBool 函數(shù)
此示例使用 CBool 函數(shù)將表達(dá)式轉(zhuǎn)換為 Boolean 值。如果表達(dá)式的求值結(jié)果是一個(gè)非零值,CBool 將返回 True;否則,它將返回 False。
Dim A, B, Check
A = 5: B = 5 ? ?' 初始化變量。
Check = CBool(A = B) ? ?' Check 包含 True。
?
A = 0 ? ?' 定義變量。
Check = CBool(A) ? ?' Check 包含 False。
?
? ? ? ? ? ??
CByte 函數(shù)
此示例使用 CByte 函數(shù)將表達(dá)式轉(zhuǎn)換為 Byte 值。
Dim MyDouble, MyByte
MyDouble = 125.5678 ? ?' MyDouble 是 Double 數(shù)據(jù)類(lèi)型值。
MyByte = CByte(MyDouble) ? ?' MyByte 包含 126。
?
? ? ? ? ? ??
CCur 函數(shù)
此示例使用 CCur 函數(shù)將表達(dá)式轉(zhuǎn)換為 Currency 值。
Dim MyDouble, MyCurr
MyDouble = 543.214588 ? ?' MyDouble 是 Double 數(shù)據(jù)類(lèi)型值。
MyCurr = CCur(MyDouble * 2) ??
' 將 MyDouble * 2 (1086.429176) 的結(jié)果轉(zhuǎn)換為
' Currency 數(shù)據(jù)類(lèi)型值 (1086.4292)。
?
? ? ? ? ? ??
CDate 函數(shù)
此示例使用 CDate 函數(shù)將字符串轉(zhuǎn)換為 Date 值。通常,建議不將日期和時(shí)間硬編碼為字符串(如本示例中所示)。請(qǐng)改用日期文本和時(shí)間文本,如 # 2/12/1969# 和 #4:45:23 PM#。
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' 轉(zhuǎn)換為 Date 數(shù)據(jù)類(lèi)型。
MyShortDate = CDate(MyDate)
?
MyTime = "4:35:47 PM"
' 轉(zhuǎn)換為 Date 數(shù)據(jù)類(lèi)型。
MyShortTime = CDate(MyTime)
?
? ? ? ? ? ??
CDbl 函數(shù)
此示例使用 CDbl 函數(shù)將表達(dá)式轉(zhuǎn)換為雙精度型值。
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' 將結(jié)果轉(zhuǎn)換為 Double 數(shù)據(jù)類(lèi)型。
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
?
? ? ? ? ? ??
CDec 函數(shù)
此示例使用 CDec 函數(shù)將數(shù)值轉(zhuǎn)換為 Decimal 值。
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ? ?' MyCurr 是 Currency 數(shù)據(jù)類(lèi)型值。
MyDecimal = CDec(MyCurr) ? ? ' MyDecimal 是 Decimal 數(shù)據(jù)類(lèi)型值。
?
? ? ? ? ? ??
CInt 函數(shù)
此示例使用 CInt 函數(shù)將值轉(zhuǎn)換為 Integer 值。
Dim MyDouble, MyInt
MyDouble = 2345.5678 ? ?' MyDouble 是 Double 數(shù)據(jù)類(lèi)型值。
MyInt = CInt(MyDouble) ? ?' MyInt 包含 2346。
?
? ? ? ? ? ??
CLng 函數(shù)
此示例使用 CLng 函數(shù)將值轉(zhuǎn)換為 Long 值。
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ?' MyVal1、MyVal2 是 Double 數(shù)據(jù)類(lèi)型值。
MyLong1 = CLng(MyVal1)
' MyLong1 包含 25427。
MyLong2 = CLng(MyVal2)
' MyLong2 包含 25428。
?
? ? ? ? ? ??
CSng 函數(shù)
此示例使用 CSng 函數(shù)將值轉(zhuǎn)換為 Single 值。
Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1、MyDouble2 是 Double 數(shù)據(jù)類(lèi)型值。
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 包含 75.34211。
MySingle2 = CSng(MyDouble2)
' MySingle2 包含 75.34216。
?
? ? ? ? ? ??
CStr 函數(shù)
此示例使用 CStr 函數(shù)將數(shù)值轉(zhuǎn)換為 String 值。
Dim MyDouble, MyString
MyDouble = 437.324 ? ?' MyDouble 是 Double 數(shù)據(jù)類(lèi)型值。
MyString = CStr(MyDouble)
' MyString 包含 "437.324"。
?
? ? ? ? ? ??
CVar 函數(shù)
此示例使用 CVar 函數(shù)將表達(dá)式轉(zhuǎn)換為 Variant 值。
Dim MyInt, MyVar
MyInt = 4534 ? ?' MyInt 是 Integer 數(shù)據(jù)類(lèi)型值。
MyVar = CVar(MyInt & "000")
' MyVar c包含字符串 4534000。
========

總結(jié)

以上是生活随笔為你收集整理的Access和Access VBA学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。