wszl

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

  --这次在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

 

分类:

技术点:

相关文章:

  • 2021-05-27
  • 2021-08-22
  • 2021-12-08
  • 2021-11-13
  • 2021-11-18
  • 2021-11-27
  • 2021-09-12
  • 2021-06-30
猜你喜欢
  • 2021-09-17
  • 2022-12-23
  • 2021-11-18
  • 2021-07-03
  • 2021-12-27
  • 2021-09-07
  • 2021-10-24
相关资源
相似解决方案