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