VB操作ACCESS資料庫代碼

來源:互聯網
上載者:User

'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 "資料庫" & 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

'添加資料表欄位(欄位格式:欄位名 欄位類別,欄位長度;最末欄位沒有分號)
    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

'設定資料表主鍵
'tbl.Columns(mdbPrimaryKey).Properties("AutoIncrement") = True
cat.Tables.Append tbl
 
'設定列的必填屬性為“否”
'tbl.Columns("Weight").Attributes = adColNullable
'設定列的允許Null 字元串為“是”
'tbl.Columns("FirstName").Properties("Jet OLEDB:Allow Zero Length") = True
    Set tbl = Nothing
    Set cat = Nothing
MsgBox "資料表" & mdbPath & "-" & mdbTableName & "建立成功", vbOKOnly
End Sub

'這個準備編寫成一個類。
'其實作用跟我上次編寫的ASP操作ACCESS資料庫大全性質和功能基本相似
'資料庫--建立,刪除,壓縮,修複,設定密碼,資料庫檔案存在判斷,讀取'
'資料表--建立,刪除,資料表名稱讀取,判斷,刪除,更新
'資料欄位--建立,修改,主鍵,允許為空白,長度,外鍵,索引,欄位名列表,判斷,屬性設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.