在用vb連接access數據庫時,出現了這樣的錯誤:
這是你的數據庫格式不被 程序識別。vb默認的一般是.,mdb access數據庫格式!這時我們看一下我們要連接的
是.accdb 格式的。
看一下代碼,我們以前使用的是:
Provider=Microsoft.jet.oledb.4.0
當數據庫格式發生變化時,連接語法格式就變了:Microsoft office 12.0 access database engine oledb provider 這時連
接字符創立已經有的,我們把它填上以后就成如下錯誤了。
為什么呢?原因是,.accdb 數據格式不適用jet 引擎連接了。而是:provider=microsoft.ace.oledb.12.0
這樣一改就可以連接上了。
o7版以前的access數據庫的格式都是.mdb 的,而vb6.0 本身帶的數據庫格式也是.mdb的,所以大家也都習慣了連
接.mdb格式的access數據庫,但是07版以后的數據庫格式就成了 .accdb 的了,在連接的過程中可就要做一下改變
了。
總結一下:通常連接數據庫我們可以使用下面兩種連接方法:
添加引用,使用代碼連接。
解決如下:
一、引用連接
添加引用,使用代碼連接。工程——引用——microsoft activeX data objects 2.5 library
代碼窗口中加入:
Dim objcn As NewConnection
Dim objrs As New Recordset
Dim strsql As String
objcn.ConnectionString ="provider=microsoft.ace.oledb.12.0;" & "data source="& App.Path & "\3.accdb" (3為數據庫的名字)
objcn.Open
strsql = "select 密碼 from 3 where賬號='" & username & "'" (賬號表中的字段,username為自定義的變量)
Set objrs.ActiveConnection = objcn
objrs.Open (strsql)
二、控件連接:
1,工程——部件——添加 microsoft ado data control 6.0 控件。
2、屬性設置:
點擊生成按鈕,打開連接字符串,選中,microsoft office 12.0 access database engine ole db provider
3、設置連接路徑。
然后在連接選項看中填入你的數據庫路徑。測試連接,如果連接成功,則說明數據庫跟你的vb程序綁定了。
4、設置紀錄源:
就這樣你的2007以上的access 數據庫就可以連接vb程序了。
這一切的大前提就是你會用officeaccess建立數據庫,且是正確的數據庫哦!