ACCESS(VBA)上的一个小项目 —— 1、连接ACCESS数据库

有人问我能不能做一个程序的时候,我第一反应都说“能”。

  --这次在ACCESS中,借助TreeView和ListView做了一个数据联动的模型。

 

遇到的第一个问题就是连接ACCESS数据库。


 1)从网上找了一段代码

 1 Private Sub connectDB()
 2 
 3     Dim cn As ADODB.Connection
 4     Dim mydata As String
 5     
 6     mydata = ThisWorkbook.Path & "\demo.accdb"
 7     Set cn = New ADODB.Connection
 8     cn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & mydata
 9      If cn.State = adStateOpen Then
10         MsgBox "连接成功"
11         cn.Close
12     End If
13     
14     Set cn = Nothing
15 End Sub

2)运行时提示问题1-1

          

  度的一下后,在工具->引用中,选取Microsoft ActiveX Data Objects 6.1,解决问题1-1。

          

3)继续运行,提示问题1-2

       

  研究得知,ThisWorkbook对象为EXCEL工作薄对象,ACCESS数据库的对象应该是:CurrentDb,将此句改为 mydata = CurrentDb.Name 。

4)继续运行,提示问题1-3

    

  研究得知,解决问题1-1时,所引用的插件Microsoft ActiveX Data Objects 6.1是最新版的,应改为"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & mydata。

5)继续运行,提示问题1-4

    

  研究得知,重新启动ACCESS解决此问题,至此,终于连上数据库了。

改后代码如下:

 1 Private Sub connectDB()
 2 
 3     Dim cn As ADODB.Connection
 4     Dim mydata As String
 5     
 6     mydata = CurrentDb.Name
 7     Set cn = New ADODB.Connection
 8     cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & mydata
 9      If conn.State = adStateOpen Then
10         MsgBox "连接成功"
11         conn.Close
12     End If
13     
14     Set conn = Nothing
15 End Sub

 

posted @ 2014-08-19 23:24  我说之旅  阅读(3078)  评论(0编辑  收藏  举报