我想知道我能不能在我的代码中新建立一个空的Access数据库,应该如何做。我想用ADODB来做,可以吗?
比如:
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Public Sub addData()
Dim connstr As String
connstr = "DRIVER=Microsoft Access Driver (*.mdb);"
Set conn = New ADODB.Connection
conn.Open connstr
conn.Execute "Create databse aa"
End SubPrivate Sub Command1_Click()
Call addData
End Sub
不过我运行了上面的代码,肯定是错误的,因为只是我的猜想,正确的该如何做?请高手执教!
比如:
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Public Sub addData()
Dim connstr As String
connstr = "DRIVER=Microsoft Access Driver (*.mdb);"
Set conn = New ADODB.Connection
conn.Open connstr
conn.Execute "Create databse aa"
End SubPrivate Sub Command1_Click()
Call addData
End Sub
不过我运行了上面的代码,肯定是错误的,因为只是我的猜想,正确的该如何做?请高手执教!
引用Microsoft ADO Ext.25 for DDL and Security
然后
Option Explicit
Dim cn As New ADOX.Catalog
Private Sub Form_Load()
cn.Create "provider=microsoft.jet.oledb.4.0;data source=d:\test.mdb"
Set cn = Nothing
End Sub
调用如下模块试试:
dbName = App.Path & "\Databases\Mydatabase.mdb"
CreateNewDatabase dbNamePublic Sub CreateNewDatabase(DatabaseName As String)
Dim wrkDefault As Workspace
Dim dbsNew As Database
'申请缺省的工作空间。
Set wrkDefault = DBEngine.Workspaces(0)
'若已经存在和要创建的数据同名的文件则应删除。
If Dir(DatabaseName) <> "" Then Kill DatabaseName
'创建数据库
Set dbsNew = wrkDefault.CreateDatabase(DatabaseName, dbLangGeneral, dbEncrypt)
'关闭数据库
dbsNew.Close
End Sub
用ACCESS建立一个空的数据库,里面什么也没有,当要建库时,例如,名称为:SYS.MDB,将它放在你程序的目录下,当需要在某个地方建时,只要将该文件COPY到目的地就可以了:
FILECOPY "SYS.MDB",目标文件名.
如果需要要在这个库下建表,你只要连接到该表,运行一个建表SQL语句就可以了.如:
CREATE TABLE NEWTAB(ID LONG NOT NULL,STUNAME VARCHAR(32) NULL)
用ACCESS建立一个空的数据库,里面什么也没有,例如,名称为:SYS.MDB,将它放在你程序的目录下,当需要在某个地方建库时,只要将该文件COPY到目的地就可以了:
FILECOPY "SYS.MDB",目标文件名.
如果需要要在这个库下建表,你只要连接到该数据,运行一个建表SQL语句就可以了.如:
CREATE TABLE NEWTAB(ID LONG NOT NULL,STUNAME VARCHAR(32) NULL)
当然,你想用ADO,ADOX建也可以,参考以下代码Option ExplicitPrivate CAT As ADOX.CatalogPublic Sub CreateMDB(ByVal Path As String,MDBName as string)
On Error GoTo ErrTrap
Set CAT = New ADOX.Catalog
If Right$(Path, 1) = "\" Then Path = Left$(Path, Len(Path) - 1)
'[建立数据库
CAT.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Path & "\" & MDBName & ".MDB;" & _
"Jet OLEDB:Database Password=;" & _
"Jet OLEDB" ':Engine Type=5;"
CreateTables
CreateIndexes
CreateKeys Set CAT = Nothing Exit Sub
ErrTrap:
MsgBox Err.Number & " / " & Err.Description
Exit Sub
Resume
End Sub