常用VB操作ACCESS數(shù)據(jù)庫代碼
'VB引用項目如下:
'Microsoft ADO Ext. 2.8 for DDL and Security
'Microsoft ActiveX Data Objects 2.8 Library
'COM+ Services Type Library
'Microsoft DAO 3.6 Object Library
Sub CreateDatabase(mdbPath, mdbPassword)
Dim cat As New ADOX.Catalog
If mdbPassword = "" Then
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source" & mdbPath & ";"
Else
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Password=" & mdbPassword & ";Data Source=" & mdbPath & ";"
'cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdbPath & ";"
End If
MsgBox "數(shù)據(jù)庫" & mdbPath & "建立成功", vbOKOnly
'Set wspDefault = DBEngine.Workspaces(0)
'Set dbs = wspDefault.CreateDatabase("Newdb.mdb", _
'dbLangGeneral & ";pwd=NewPassword", dbEncrypt)
End Sub
Sub CreateTable(mdbPath, mdbTableName, mdbSqlColumns, mdbPrimaryKey)
'建立列的sql語句
'mdbPath="c:\test.mdb"
'mdbTableName="User"
'mdbSqlColumns="ID,adInteger;UserName,adVarWChar,20;Password,adVarWChar,20"
'mdbPrimaryKey="ID"
Dim tbl As New Table
Dim cat As New ADOX.Catalog
Dim con As ADODB.Connection
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=" & mdbPath & ";"
Dim ArrayColumn As String
tbl.Name = mdbTableName
'添加數(shù)據(jù)表字段(字段格式:字段名 字段類別,字段長度;最末字段沒有分號)
ArrayTotalColumn = Split(mdbSqlColumns, ";", -1, 1)
For i = 0 To UBound(ArrayTotalColumn)
ArraySingleColumn = Split(ArrayTotalColumn(i), ",", -1, 1)
If UBound(ArraySingleColumn) = 1 Then
'tbl.Columns.Append ArraySingleColumn(0), ArraySingleColumn(1)
tbl.Columns.Append ArraySingleColumn(0), adInteger
Else
'tbl.Columns.Append ArraySingleColumn(0), ArraySingleColumn(1), ArraySingleColumn(2)
tbl.Columns.Append ArraySingleColumn(0), adVarWChar, CInt(ArraySingleColumn(2))
End If
Next
'設(shè)置數(shù)據(jù)表主鍵
'tbl.Columns(mdbPrimaryKey).Properties("AutoIncrement") = True
cat.Tables.Append tbl
'設(shè)置列的必填屬性為“否”
'tbl.Columns("Weight").Attributes = adColNullable
'設(shè)置列的允許空字符串為“是”
'tbl.Columns("FirstName").Properties("Jet OLEDB:Allow Zero Length") = True
Set tbl = Nothing
Set cat = Nothing
MsgBox "數(shù)據(jù)表" & mdbPath & "-" & mdbTableName & "建立成功", vbOKOnly
End Sub
'這個準(zhǔn)備編寫成一個類。
'其實作用跟我上次編寫的ASP操作ACCESS數(shù)據(jù)庫大全性質(zhì)和功能基本相似[Page]
'數(shù)據(jù)庫--新建,刪除,壓縮,修復(fù),設(shè)置密碼,數(shù)據(jù)庫文件存在判斷,讀取'
'數(shù)據(jù)表--新建,刪除,數(shù)據(jù)表名稱讀取,判斷,刪除,更新
'數(shù)據(jù)字段--新建,修改,主鍵,允許為空,長度,外鍵,索引,字段名列表,判斷,屬性設(shè)置