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

news2024/11/28 16:37:22

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

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

《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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/968102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅析ARMv8体系结构:异常处理机制

文章目录 概述异常类型中断终止Abort复位Reset系统调用 异常处理流程异常入口异常返回异常返回地址 堆栈选择 异常向量表异常向量表的配置 同步异常解析相关参考 概述 异常处理指的是处理器在运行过程中发生了外部事件,导致处理器需要中断当前执行流程转而去处理异…

swaggo的一点小理解

如有错误,希望指出,谢谢! 很低级的概念不清,大佬嘴下留情。 1.关于swag的注释 我的理解是这些注释是专门提供给Swagger UI界面测试使用的,根据注释内容告诉swag文档这个函数应该有哪些参数,从什么路由走&…

基于图像切割计算轨迹相似度

目录 背景思路与核心代码数值实验优缺点分析参考文献 背景 在前面2文,我们分别讨论了利用夹角余弦来计算轨迹相似度和利用缓冲原理来计算轨迹相似度两种方法,前者可以作为一个baseline提供参考,后者的计算更符合人们的感官和事实&#xff0c…

1. 企业大数据开发流程

文章目录 1. 数据建设流程1.1 业务需求(占40%)1.2 需求调研1.3 概要设计1.4 详细设计1.5 数据开发(占20%)1.6 数据交付 学习链接 1. 数据建设流程 即当我们接到一个新的需求后(需求文档),我们应…

vmware 16增加硬盘容量并在Ubuntu 18.04上边格式化并挂载

参考了《增加 VM虚拟机硬盘容量》 《Linux学习之分区挂载》中有给VMWare 16虚拟机添加一块硬盘的内容,需要先参考添加硬盘。 sudo mkfs.ext4 /dev/sda4给/dev/sda4进行ext4格式化。 sudo mkdir /mountsda4新建一个挂载目录。 sudo mount -t ext4 /dev/sda4 /mo…

羊城杯-2023-Crypto

文章目录 Danger_RSA题目描述:题目分析: Easy_3L题目描述:题目分析: XOR贯穿始终题目描述:题目分析: MCeorpkpleer题目描述:题目分析: SigninCrypto题目描述:题目分析&am…

项目——群英阁(galaxyHub)

目录 一、项目概述二、设计思路三、项目流程四、项目代码头文件:👇server端:👇client端:👇 五、运行效果 一、项目概述 项目中文名称:群英阁 项目英文名称:galaxyHub 利用UDP通信实现…

HikariCP源码修改,使其连接池支持Kerberos认证

HikariCP-4.0.3 修改HikariCP源码,使其连接池支持Kerberos认证 修改后的Hikari源码地址:https://github.com/Raray-chuan/HikariCP-4.0.3 Springboot使用hikari连接池并进行Kerberos认证访问Impala的demo地址:https://github.com/Raray-chuan/springboot-kerberos-hikari-im…

Lambda表达式第三版,从3个方面分析。(①抽象方法无参数无返回值,②抽象方法带参数无返回值,③抽象方法带参数有返回值)

1、函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是”拿数据做操作“面向对象思想强调”必须通过对象的形式来做事情“函数式思想则尽量忽略面向对象的复杂语法:”强调做什么,而不是以什么形式去做&a…

【javaweb】学习日记Day8 - Mybatis入门 Mysql 多表查询 事务 索引

之前学习过的SQL语句笔记总结戳这里→【数据库原理与应用 - 第六章】T-SQL 在SQL Server的使用_Roye_ack的博客-CSDN博客 【数据库原理与应用 - 第八章】数据库的事务管理与并发控制_一级封锁协议_Roye_ack的博客-CSDN博客 目录 一、多表查询 1、概述 (1&#…

性能测试(测试系列10)

目录 前言: 1.什么是性能测试 1.1生活中遇到的软件问题 1.2性能测试的定义 1.3性能测试和功能测试有什么区别 1.4性能的好坏的区分 1.5影响一个软件性能的因素 2.为什么要进行性能测试 3.性能测试常见的术语以及衡量指标 3.1并发 3.2用户数 3.3响应时间 …

Jmeter如何设置中文版

第一步:找到 apache-jmeter-5.4.3\bin目录下的 jmeter.properties 第二步:打开 三,ctrf 输入languageen,注释掉,增加以行修改如下 四,ctrs 保存修改内容,重新打开jmeter就可以了

golang-bufio 缓冲写

1. 缓冲写 在阅读这篇博客之前,请先阅读上一篇:golang-bufio 缓冲读 // buffered output// Writer implements buffering for an io.Writer object. // If an error occurs writing to a Writer, no more data will be // accepted and all subsequent…

5.0: Dubbo服务导出源码解析

#Dubbo# 文章内容 Dubbo服务导出基本原理分析Dubbo服务注册流程源码分析Dubbo服务暴露流程源码分析服务导出的入口方法为ServiceBean.export(),此方法会调用ServiceConfig.export()方法,进行真正的服务导出。 1. 服务导出大概原理 服务导出的入口方法为ServiceBean.export…

stm32之28.ADC

须看原理图(引脚、电压值、ADC几号通道)配置 。 若对比值0~4096 模拟电压/参考电压4096/x 假设模拟电压2.1V,参考电压3.3v,4096/x3.3/2.1 ->3.3x2.1x4096 ->x2,606.5 也可反推出模拟电压 ADC转换时间 ADC时钟来源于…

leetcode645. 错误的集合(java)

错误的集合 题目描述优化空间代码演示 题目描述 难度 - 简单 LC645 - 错误的集合 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数…

时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测(风电功率预测)

时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测(风电功率预测) 目录 时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测(风电功率预测)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.时序预测 | MA…

Python中的绝对和相对导入

在本文中,我们将看到Python中的绝对和相对导入。 Python中导入的工作 Python中的import类似于C/C中的#include header_file。Python模块可以通过使用import导入文件/函数来访问其他模块的代码。import语句是调用import机制的最常见方式,但它不是唯一的…

常见数学名词的物理意义(更新中)

BetterExplained – Math lessons that click 一、复数 i 的物理意义就是旋转,i 就是逆时针旋转90,i*i 就是逆时针旋转180 加法:实部相加,虚部相加 乘法: 复数zxyi控制了函数的放缩和旋转 ——x 放缩,…

Shell开发实践:服务器的磁盘、CPU、内存的占用监控

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…