暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库的前期绑定与后期绑定

VBA语言专家 2021-06-28
452
【分享成果,随喜正能量】一岁有一岁的味道,一站有一站的风景,年龄应该成为你生命的勋章,纵使眼里写满故事,脸上依然不漏风霜,你的努力终将喂大你的格局。
《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

l如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。



_______________________________



有启发 点在看 朋友分享
约作者 请留言 直接交流

 

更多关联阅读






 








文章转载自VBA语言专家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论