第五讲:ADO连接Access前期绑定与后期绑定方法实例(上)

本文介绍了VBA编程中的ADO连接Access数据库的两种方法:前期绑定和后期绑定。作者通过实例演示了如何使用后期绑定方式连接数据库,并展示了代码执行过程和实际效果。后续内容将探讨两者之间的区别和代码书写差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【分享成果,随喜正能量】说到得失,不管是得是失,都各有因缘。是我的,不必力争,自会得到;不是你的,即使千方百计取得,也会随风而逝。 如果你想获得安宁与自由,

那么让脚步去追随心的方向。。

《VBA数据库解决方案》教程(10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:第五讲:ADO连接Access前期绑定与后期绑定方法实例(上)

a7999a6b422dcdeecbd4c4cd7007a23c.jpeg

第五讲 ADO连接Access前期绑定与后期绑定方法实例(上)

在上一讲中,讲了几种连接方案,ADO连接时讲了两种方案,一是前期通过引用来绑定,还有一种是后期在代码中绑定,这讲中我将结合实际问题来具体的讲解一下这两种方案的利用。

实际需求:利用VBA打开一个如下面图示的数据库,打开后提示连接成功,并提示ADO版本号。

f71ec2ca48a57b842b6c08f8de825aa6.jpeg

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

代码截图:

32681a1e9f5d35528e3530ae305d1189.jpeg

代码解析:上述代码是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

我们看看实际的运行结果:

a127b0f57a5e580ebf7d5e4f3c5bf9a2.jpeg

待续

今日内容回向:

1 前期绑定与后期绑定有什么不同?

2 前期绑定与后期绑定在代码的书写上有什么异同?

本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm

88e31c4b38fb5b220290eb3e90b96a14.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:


064343503e3b96c453072328c802cabd.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值