轉csdn文章中faysky2、lihonggen0的答案,不過自己還未測試,先記錄下來
用ADOX:
'菜單“工程”--> "引用 "--> Microsoft ADO Ext.2.7 for DDL ado Security
Private Sub Form_Load()
Dim cat As ADOX.Catalog
Set cat = New ADOX.Catalog
'在目前目錄下建立名為newdata的Access資料庫
cat.Create ( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + App.Path & "\newdata.mdb " + "; ")
MsgBox "資料庫已經建立成功! "
End Sub
可以用ADO來建表和删表:
'菜單“工程”--> "引用 "--> Microsoft ADO Ext.2.7 for DDL ado Security
'建表:
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
cn.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "newdata.mdb;Persist Security Info=False "
cn.Open
cn.Execute "CREATE TABLE [aaa]([學生姓名]Text(20),[年齡]Integer,[成績]Double) "
cn.Close
End Sub
'删表:
Private Sub Command2_Click()
Dim cn As New ADODB.Connection
cn.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source== " & App.Path & "newdata.mdb;Persist Security Info=False "
cn.Open
cn.Execute "DROP TABLE [aaa] "
cn.Close
End Sub
'*********************************************************
'* 名稱:TableExists
'* 功能:判斷表是否存在(表名)
'* 用法:TableExists(表名) adoCN是一個SQL的連接配接
'*********************************************************
Public Function TableExists(findTable As String) As Boolean
Dim rstSchema As New ADODB.Recordset
Set rstSchema = adoCN.OpenSchema(adSchemaTables)
rstSchema.Find "TABLE_NAME= ' " & findTable & " ' "
If rstSchema.EOF Then
TableExists = False
Else
TableExists = True
End If
rstSchema.Close
End Function