表设计
代码创建Access数据表和字段的多种方式
2016-11-14 10:15:21

作者:Office中国版主:t小宝 和  tanhong

使用数据表设计器来添加字段,相信大家都会。

但在Access中用代码建立表和字段,可能知道的网友并不太多,通常会使用DAO的方式,因为它是Access自带,比较方便快捷,但也可使用ADOX或其它方式

以下就列出以下3种解决方法 第一种,用ADO方式运行 CREATE TABLE 语句:CurrentProject.Connection.Execute  "CREATE TABLE 表1(字段1 DECIMAL);"注意这里用CurrentProject.Connection取代了CurrentDb,因为CurrentProject.Connection返回的是ADO的Connection对象。第二种,在菜单上 点击 "工具"—>"选项", 选择"表/查询"选项卡,在"SQL Server兼容语法(ANSI 92)"项中勾选"当前数据库"。

这个选项会改变数据库中SQL语句的解释方式,如通配符会改变,有可能原有的查询不能返回正常结果。然后用RunSQL方法运行 CREATE TABLE 语句:DoCmd.RunSQL "CREATE TABLE 表1(字段1 DECIMAL);"

 其它示例:

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 SQLDebug.print “朋友表创建成功End Sub

第三种,用ADOX对象

      以下代码实现: tanhong

   “ACCESS表字段”与“ADO数据类型属性常量”及“Microsoft Jet 数据库引擎的 SQL 语法”对照表,便于我们在通过“ADOX”即ADO扩展库创建表,或是通过SQL语句创建表时参考。 1、ADOX创建表,注:需引用ADOX扩展库msadox.dllSub Main()On Error GoTo CreateTableErrorDim tbl As New TableDim cat As New ADOX.CatalogDim 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", adIntegertbl.Columns.Append "Column2", adIntegertbl.Columns.Append "Column3", adVarWChar, 50    '创建示范表cat.Tables.Append tblDebug.Print "Table 'MyTable' is added."'删除示范表cat.Tables.Delete tbl.NameDebug.Print "Table 'MyTable' is deleted."    '清除Set cat.ActiveConnection = NothingSet cat = NothingSet tbl = NothingExit Sub    CreateTableError:Set cat = NothingSet tbl = NothingIf Err <> 0 Then   MsgBox Err.Source & "-->" & Err.Description, , "Error"End IfEnd Sub

(ADO_RDO-相关文章技巧链接):ADOX与SQL两种创建表格数据类型比较与实例