设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3824|回复: 9
打印 上一主题 下一主题

[其它] ADOX与SQL两种创建表格数据类型比较与实例

[复制链接]
跳转到指定楼层
1#
发表于 2008-2-24 20:18:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  数据类型比较
ACCESS表字段ADO 数据类型属性常量Microsoft Jet 数据库引擎的 SQL 语法和同义词
不支持adBinaryBINARY(参见注意)
(同义词:VARBINARY)
是/否  adBooleanBOOLEAN
(同义词:BIT、LOGICAL、LOGICAL1、YESNO)
数字
(字段大小 = 字节)
adUnsignedTinyIntBYTE
(同义词:INTEGER1)
数字
(字段大小 =双精度型)
adDoubleDOUBLE
(同义词:FLOAT、FLOAT8、IEEEDOUBLE、NUMBER、NUMERIC)
数字
(字段大小 =长整型)
adIntegerLONG(参见注意)
(同义词:INT、INTEGER、INTEGER4)
数字
(字段大小 =单精度型)
adSingle SINGLE
(同义词:FLOAT4、IEEESINGLE、REAL)
数字
(字段大小 =整型)  
adSmallIntSHORT(参见注意)
(同义词:INTEGER2、SMALLINT)
文本 adVarWChar TEXT
(同义词:ALPHANUMERIC、CHAR, CHARACTER、STRING、VARCHAR)
货币 adCurrency CURRENCY
(同义词:MONEY)
自动编号
(字段大小= 长整型)  
adGUIDGUID
日期/时间  adDateDATETIME
(同义词: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







[ 本帖最后由 tanhong 于 2008-2-25 10:00 编辑 ]
(ADO_RDO-相关文章技巧链接):
ADOX与SQL两种创建表格数据类型比较与实例

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享1 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2008-2-24 20:47:53 | 只看该作者
坐上沙发先
说明与实例俱全啊,好
3#
发表于 2008-2-25 08:16:31 | 只看该作者
learn,thanks
4#
发表于 2008-2-25 11:06:17 | 只看该作者
谢谢分享了 :lol
5#
发表于 2008-4-21 16:11:02 | 只看该作者
谢谢楼主
6#
发表于 2012-2-29 14:41:03 | 只看该作者
谢谢了,用第二种方法创建了表,但是怎么用变量命名这个表的名字呢?
7#
发表于 2012-2-29 17:32:21 | 只看该作者
lyf430204 发表于 2012-2-29 17:41
谢谢了,用第二种方法创建了表,但是怎么用变量命名这个表的名字呢?


合乎要求吗这样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
发表于 2016-5-6 18:51:46 | 只看该作者
好的,学习
回复

使用道具 举报

9#
发表于 2022-9-28 21:45:47 | 只看该作者
123123
回复

使用道具 举报

10#
发表于 2022-9-28 21:46:25 | 只看该作者
123456
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 20:33 , Processed in 0.155100 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表