office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

ADOX與SQL兩種創(chuàng)建表格數(shù)據(jù)類型比較與實例

2008-02-24 20:18:39
tanhong-Office交流網(wǎng)
原創(chuàng)
8311
  數(shù)據(jù)類型比較
ACCESS表字段 ADO 數(shù)據(jù)類型屬性常量 Microsoft Jet 數(shù)據(jù)庫引擎的 SQL 語法和同義詞
不支持 adBinary BINARY(參見注意)
(同義詞:VARBINARY)
是/否   adBoolean BOOLEAN
(同義詞:BIT、LOGICAL、LOGICAL1、YESNO)
數(shù)字
(字段大小 = 字節(jié))
adUnsignedTinyInt BYTE
(同義詞:INTEGER1)
數(shù)字
(字段大小 =雙精度型)
adDouble DOUBLE
(同義詞:FLOAT、FLOAT8、IEEEDOUBLE、NUMBER、NUMERIC)
數(shù)字
(字段大小 =長整型)
adInteger LONG(參見注意)
(同義詞:INT、INTEGER、INTEGER4)
數(shù)字
(字段大小 =單精度型) 
adSingle  SINGLE
(同義詞:FLOAT4、IEEESINGLE、REAL)
數(shù)字
(字段大小 =整型)  
adSmallInt SHORT(參見注意)
(同義詞:INTEGER2、SMALLINT) 
文本  adVarWChar  TEXT
(同義詞:ALPHANUMERIC、CHAR, CHARACTER、STRING、VARCHAR)
貨幣  adCurrency  CURRENCY
(同義詞:MONEY)
自動編號
(字段大小= 長整型)  
adGUID GUID
日期/時間   adDate DATETIME
(同義詞:DATE、TIME、TIMESTAMP)
備注  adLongVarWChar  LONGTEXT
(同義詞:LONGCHAR、MEMO、NOTE)
OLE 對象  adLongVarBinary  LONGBINARY
(同義詞:GENERAL、OLEOBJECT)
超鏈接  adLongVarWChar  LONGTEXT
(同義詞:LONGCHAR、MEMO、NOTE)
不支持  adVariant  VALUE(參見注意)



   “ACCESS表字段”與“ADO數(shù)據(jù)類型屬性常量”及“Microsoft Jet 數(shù)據(jù)庫引擎的 SQL 語法”對照表,便于我們在通過“ADOX”即ADO擴(kuò)展庫創(chuàng)建表,或是通過SQL語句創(chuàng)建表時參考。
    下面就如何使用“ADOX”即ADO擴(kuò)展庫創(chuàng)建表及如何使用SQL語句創(chuàng)建表給出實例:

1、ADOX創(chuàng)建表,注:需引用ADOX擴(kuò)展庫msadox.dll

Sub Main()

On Error GoTo CreateTableError


Dim tbl As New Table

Dim cat As New ADOX.Catalog
Dim strpath As String

打開指定數(shù)據(jù)庫,確定當(dāng)前路徑中db1.mdb 數(shù)據(jù)庫存在,否則報錯

cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentProject.Path & "\db1.mdb;"


tbl.Name = "MyTable"

tbl.Columns.Append "Column1", adInteger
tbl.Columns.Append "Column2", adInteger
tbl.Columns.Append "Column3", adVarWChar, 50
    
'創(chuàng)建示范表
cat.Tables.Append tbl
Debug.Print "Table 'MyTable' is added."

'
刪除示范表

cat.Tables.Delete tbl.Name
Debug.Print "Table 'MyTable' is deleted."
    
'清除
Set cat.ActiveConnection = Nothing
Set cat = Nothing
Set tbl = Nothing

Exit Sub

    
CreateTableError:
Set cat = Nothing
Set tbl = Nothing

If Err <> 0 Then
   MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub

2、SQL語句創(chuàng)建表,實例:

Sub CreateMyTable ()
'創(chuàng)建朋友表
SQL = "CREATE TABLE 朋友 ([朋友ID] COUNTER,[姓氏] text(20) not null,[名字] text,[出生日期] date ,[電話] text,[備注] memo, [是否] bit,[單價] currency,[照片] LONGBINARY,PRIMARY KEY ([朋友ID]));"

'運(yùn)行SQL語句創(chuàng)建表
DoCmd.RunSQL SQL
Debug.print “朋友表創(chuàng)建成功
End Sub

完整的Access源碼示例下載: ADOX與SQL兩種創(chuàng)建表格數(shù)據(jù)類型比較與實例 .rar


Access常用的數(shù)據(jù)類型


1. 字符類型:(VARCHAR、CHA)
    用于存儲字符數(shù)據(jù),最大長度為255,ACCESS中有兩個字符數(shù)據(jù):VARCHAR和CHAR,前者用于存儲可變長度字符串,后者用于存儲固定長度字符串。固定長度會用空格來填充不夠的位數(shù),并且檢索的時候要比可變的快。
2. 備注類型:(MEMO)長度為64000個字符,由于字符類型數(shù)據(jù)的最大長度為255個字節(jié),所以沒辦法存儲更長的文字說明,備注類型數(shù)據(jù)就是為了解決這個問題的。
3. 數(shù)字類型:ACCESS中有6種數(shù)字類型:
Byte 字節(jié)型 整數(shù) 0-255
Smallint 整型 整數(shù) -32000-32000
Integer(number) 長整型 整數(shù) -2000000000-2000000000:9個0
Money(currency)貨幣性 整數(shù)和4位小數(shù) 正負(fù)900000000000000:14個0
Real 單精度 浮點(diǎn)數(shù)字 14.E-45 – 3.4E+38
Float 雙精度浮點(diǎn)數(shù)字 4.9E-324 – 1.8E+308
4. 日期時間類型:(datetime)用于存儲日期值,時間值,日期時間混合值:
常規(guī)日期
常日期
中日期
短日期
長時間
中時間
短時間
5. 自動編號類型:(counter)每增加一條記錄就會自動增加一個編號。
6. 是否類型:(yesno)對一個字段中包含的兩種不同的可選值。
7. ole對象類型:允許單獨(dú)的鏈接或嵌入OLE對象。
 
t小寶
說明與實例俱全啊

JosephTan
做了個示例: Database9.zip
合乎要求嗎這樣

李力軍2
好的,學(xué)習(xí)

(表設(shè)計-相關(guān)文章技巧鏈接):
代碼創(chuàng)建Access數(shù)據(jù)表和字段的多種方式

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動訪問