ADOX與SQL兩種創建表格數據類型比較與實例

2008-02-24 20:18:39
tanhong-Office交流網
原創
3669
  數據類型比較
ACCESS表字段 ADO 數據類型屬性常量 Microsoft Jet 數據庫引擎的 SQL 語法和同義詞
不支持 adBinary BINARY(參見注意)
(同義詞:VARBINARY)
是/否   adBoolean BOOLEAN
(同義詞:BIT、LOGICAL、LOGICAL1、YESNO)
數字
(字段大小 = 字節)
adUnsignedTinyInt BYTE
(同義詞:INTEGER1)
數字
(字段大小 =雙精度型)
adDouble DOUBLE
(同義詞:FLOAT、FLOAT8、IEEEDOUBLE、NUMBER、NUMERIC)
數字
(字段大小 =長整型)
adInteger LONG(參見注意)
(同義詞:INT、INTEGER、INTEGER4)
數字
(字段大小 =單精度型) 
adSingle  SINGLE
(同義詞:FLOAT4、IEEESINGLE、REAL)
數字
(字段大小 =整型)  
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數據類型屬性常量”及“Microsoft Jet 數據庫引擎的 SQL 語法”對照表,便于我們在通過“ADOX”即ADO擴展庫創建表,或是通過SQL語句創建表時參考。
    下面就如何使用“ADOX”即ADO擴展庫創建表及如何使用SQL語句創建表給出實例:

1、ADOX創建表,注:需引用ADOX擴展庫msadox.dll

Sub Main()

On Error GoTo CreateTableError


Dim tbl As New Table

Dim cat As New ADOX.Catalog
Dim strpath As String

打開指定數據庫,確定當前路徑中db1.mdb 數據庫存在,否則報錯

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
    
'創建示范表
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語句創建表,實例:

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

'運行SQL語句創建表
DoCmd.RunSQL SQL
Debug.print “朋友表創建成功
End Sub

完整的Access源碼示例下載: ADOX與SQL兩種創建表格數據類型比較與實例 .rar


Access常用的數據類型


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

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

李力軍2
好的,學習

(表設計-相關文章技巧鏈接):
代碼創建Access數據表和字段的多種方式

分享
北京十一选五基本走势