热议:VB建立Access数据库的步骤详解与最新技巧分享

文章导读
第一步:在VB中引用ADOX库。新建一个VB项目,打开项目引用,选中Microsoft ADOX x.x Library(比如2.8版)。这样就能用Create方法建数据库了。代码很简单:Dim cat As New ADOX.Catalogcat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb"
A A

第一步:在VB中引用ADOX库。新建一个VB项目,打开项目引用,选中Microsoft ADOX x.x Library(比如2.8版)。这样就能用Create方法建数据库了。代码很简单:
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb"

大家热议说,建Access数据库最简单就是用ADOX。VB6里直接加引用,然后一段代码搞定。记得路径要写对,不然报错。最新技巧是用OLEDB 12.0 provider支持Access 2007以上格式,改成"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.accdb",超方便。

步骤详解:1.创建Catalog对象。2.调用Create方法传入连接字符串。3.加密码的话在连接串里写Jet OLEDB:Database Password=xxx。测试代码:
Private Sub Command1_Click()
On Error GoTo errh
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\newdb.mdb;Jet OLEDB:Engine Type=0;"
MsgBox "数据库创建成功!"
Exit Sub
errh: MsgBox Err.Description
End Sub

热议:VB建立Access数据库的步骤详解与最新技巧分享

网友分享技巧:建完数据库后马上建表。用ADOX Table对象。代码:
Dim tbl As New ADOX.Table
tbl.Name = "Users"
tbl.Columns.Append "ID", adInteger, , adKeyPrimary
tbl.Columns.Append "Name", adVarWChar, 50
cat.Tables.Append tbl

最新方法,用DAO直接操Access。VB里引用DAO库,然后:
Dim db As DAO.Database
Set db = CreateDatabase("C:\test.mdb", dbLangGeneral) 'dbLangGeneral是常量

热议中有人说ADOX最稳,DAO也行,但Access 2010后推荐ACE驱动。连接串统一用Microsoft.ACE.OLEDB.12.0。建库后连开:
Dim conn As New ADODB.Connection
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.accdb;"

热议:VB建立Access数据库的步骤详解与最新技巧分享

常见坑:路径用双反斜杠,或App.Path拼接。64位系统下载Access Database Engine重装。权限不够就管理员跑VB。

FAQ
Q: 为什么创建时报"找不到Provider"?
A: 装Access或下载对应OLEDB驱动,Jet是老版,ACE是新版。
Q: 怎么给数据库加密码?
A: 连接串加 ;Jet OLEDB:Database Password=你的密码;
Q: VB.NET能用吗?
A: 能,加COM引用ADOX,用Try Catch包错误。
Q: 建表怎么加字段类型?
A: Columns.Append 名字, 类型常量如adInteger, 长度, 属性。
Q: .mdb和.accdb区别?
A: mdb是老格式,accdb新,支持大文件,用ACE provider。