数据库分离与附加图解(数据库的前期绑定与后期绑定)
【分享成果,随喜正能量】一岁有一岁的味道,一站有一站的风景,年龄应该成为你生命的勋章,纵使眼里写满故事,脸上依然不漏风霜,你的努力终将喂大你的格局。
《VBA数据库解决方案》教程是我推出第二套教程,目前已经是第一版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第4讲:数据库的前期绑定与后期绑定。
第五讲 ADO连接Access,前期绑定与后期绑定方法实例
在上一讲中,讲了几种连接方案,ADO连接时讲了两种方案,一是前期通过引用来绑定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
我们看看实际的运行结果:
2 我们再看看前期绑定的时候该如何书写代码
这种方式代码非常的简单:
Sub mynzConnection_5_2()
Dim cnADO As New ADODB.Connection
Dim strPath As String
strPath = ThisWorkbook.Path & "\mydata.accdb"
cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath
If cnADO.State = adStateOpen Then
MsgBox "数据库连接成功!" & vbCrLf & _
vbCrLf & "ADO版本为:" & cnADO.Version & vbCrLf & _
vbCrLf & "Connection对象提供者名称:" & cnADO.Provider
cnADO.Close
Set cnADO = Nothing
Else
MsgBox "数据库连接失败!"
End If
End Sub
代码截图:
代码讲解,
① 和上述代码不同的是这里用了Dim cnADO As New ADODB.Connection 即声明了一个新的ADO连接
② 这个时候直接打开连接即可:
cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath
看我们代码的运行:
特别提示:运行前一定要引用上ADO,我这里只是给出截图,如何设置引用在上节已经讲过,这种连接方法和上面的方法都是在实际中可以利用的方法,需要的朋友一定要收藏,不必再去编写代码,测试了,
代码的运行:
上面就是两种绑定方案的讲解。这两种方案可以在实际代码中利用它。
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解
第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用
第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解
第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用
上述教程的学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8
- 如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com