请问如何用ADO创建一个access 的数据库并生成表

htu 2001-11-14 12:02:47
请问如何用ADO创建一个access 的数据库并生成表、索引等
要求能创建一个空的数据库文件,过程全部用代码解决。
...全文
183 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
icyer 2001-11-14
还是用DAO比较好。
这里有个例子:

Dim db As Database
Dim tb As TableDef

Set db = CreateDatabase("G:\test.mdb", dbLangGeneral) '建立数据库
Set tb = db.CreateTableDef("table1") '建立表

tb.Fields.Append tb.CreateField("Field1", dbText) '添加字段
db.TableDefs.Append tb '添加表

一切OK。当然,别忘了“引用”“Microsoft DAO 3.6 Object Library”。
回复
feihong0233 2001-11-14
可以用DAO建库啊,
再用SQL CREATE TABLE 建一个表。
为什么一定要用ADO建?
回复
Wesely 2001-11-14
用ADOX或是JRO。
以前有这论题的贴子,你找找。
回复
headwind 2001-11-14
‘来’字的位置错了~
用ADO扩展来建数据库
回复
headwind 2001-11-14
用ADO来扩展建数据库~~
首先要引用:Microsoft ADO Ext.27 for DLL and securiy
Dim strDB As New ADOX.Catalog
Dim strTab01 As New ADOX.Table
dim DBPATH_Name as string
DBPath_Name = App.Path & "\" & Num_Dig_J & ".mdb"
strDB.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath_Name
strTab01.Name = "yh" '表名
strTab01.Columns.Append "YHXM", adVarWChar, 14 '字段名
strTab01.Columns.Append "YHDH", adVarWChar, 14 '同上
strDB.Tables.Append strTab01
Mircosoft.jet.oledb.4.0代表office 2000
Mircosoft.jet.oledb.3.51代表office 97
回复
icyer 2001-11-14
我只用过ADO建立SQL Server数据库。
回复
htu 2001-11-14
谢谢大家的例子,不过我还是想问一下有没有ado的例子
回复
sagewjx 2001-11-14
Option Explicit

Dim mydb As Database, myws As Workspace
Dim autd As TableDef, tittd As TableDef, pubtd As TableDef
Dim auflds(2) As Field, titflds(5) As Field, pubflds(10) As Field, ixflds(0) As Field
Dim auidx As Index, titidx(3) As Index, pubidx As Index

Private Sub Command1_Click()
Dim dbversion25 As Variant
'使用workspace对象的CreateDatabase方法创建新的数据库
Set myws = DBEngine.Workspaces(0)
Set mydb = myws.CreateDatabase(App.Path + "\test.mdb", dbLangGeneral, dbversion25)
'使用Database对象的CreateTableDef方法为数据库中的所有表创建新的TableDef对象
Set autd = mydb.CreateTableDef("authors")
'使用TableDef对象的CreateField方法,为表中每个字段创建Field域,然后设置每一个字段的字段 _
长度,数据类型和其他所需的属性
Set auflds(0) = autd.CreateField("au_id", dbLong)
'使其成为记数字段
auflds(0).Attributes = dbAutoIncrField
Set auflds(1) = autd.CreateField("author", dbText)
auflds(1).Size = 50
'用Append方法把每个字段添加到表中,并把每个表添加到数据库中
autd.Fields.Append auflds(0)
autd.Fields.Append auflds(1)
Set auidx = autd.CreateIndex("au_id")
auidx.Primary = True
auidx.Unique = True
Set ixflds(0) = auidx.CreateField("au_id")
auidx.Fields.Append ixflds(0) '在index对象的fields集合中追加字段
autd.Indexes.Append auidx '在indexs集合中追加索引
mydb.TableDefs.Append autd '在tabledefs集合中追加tabledef
End Sub
回复
火鸟李国平 2001-11-14
GZZ
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-11-14 12:02
社区公告
暂无公告