【分享成果,随喜正能量】说到得失,不管是得是失,都各有因缘。是我的,不必力争,自会得到;不是你的,即使千方百计取得,也会随风而逝。 如果你想获得安宁与自由,
那么让脚步去追随心的方向。。
《VBA数据库解决方案》教程(10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:第五讲:ADO连接Access前期绑定与后期绑定方法实例(上)
第五讲 ADO连接Access前期绑定与后期绑定方法实例(上)
在上一讲中,讲了几种连接方案,ADO连接时讲了两种方案,一是前期通过引用来绑定,还有一种是后期在代码中绑定,这讲中我将结合实际问题来具体的讲解一下这两种方案的利用。
实际需求:利用VBA打开一个如下面图示的数据库,打开后提示连接成功,并提示ADO版本号。
1后期绑定方法
这种方案将在程序中绑定ADO,代码稍微多些,我们先看代码:
Sub mynzConnection_5()
Dim cnADO As Object
Dim strPath As String
strPath = ThisWorkbook.Path & "\mydata.accdb"
Set cnADO = CreateObject("ADODB.Connection")
With cnADO
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionTimeout = 100
.Open strPath
End With
If cnADO.State = 1 Then
MsgBox "数据库连接成功!" & vbCrLf & _
vbCrLf & "ADO版本为:" & cnADO.Version & vbCrLf & _
vbCrLf & "Connection对象提供者名称:" & cnADO.Provider
cnADO.Close
Set cnADO = Nothing
Else
MsgBox "数据库连接失败!", vbInformation, "连接数据库"
End If
End Sub
代码截图:
代码解析:上述代码是ADO后期绑定的一个典型的代码,大家可以收藏并利用它。
①strPath = ThisWorkbook.Path & "\mydata.accdb"
这行语句把数据库存在的路径放在了变量strPath中。
②下面的语句创建一个ADO连接,并打开。
Set cnADO = CreateObject("ADODB.Connection")
With cnADO
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionTimeout = 100
.Open strPath
End With
③ 如果已经打开就提供ADO的版本号等信息
If cnADO.State = 1 Then
MsgBox "数据库连接成功!" & vbCrLf & _
vbCrLf & "ADO版本为:" & cnADO.Version & vbCrLf & _
vbCrLf & "Connection对象提供者名称:" & cnADO.Provider
④ 最后关闭连接
cnADO.Close
Set cnADO = Nothing
我们看看实际的运行结果:
待续
今日内容回向:
1 前期绑定与后期绑定有什么不同?
2 前期绑定与后期绑定在代码的书写上有什么异同?
本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: