Excel中使用VBA访问Access数据库 您所在的位置:网站首页 如何从access把数据读到excel Excel中使用VBA访问Access数据库

Excel中使用VBA访问Access数据库

2023-04-01 00:46| 来源: 网络整理| 查看: 265

VBA访问Access数据库 1. 通用自动化语言VBA

VBA(Visual Basic For Application)是一种通用自动化语言,它可以使Excel中的常用操作自动化,还可以创建自定义的解决方案。

Excel中使用VBA的优点:

使固定、重复的任务程序自动化,提高工作效率。 可进行复杂的数据处理和分析。 可自定义Excel函数、工具栏、菜单和界面。 可连接多种数据库,并进行相应的操作。

宏是VBA的一种简单应用。宏可以通过编写VBA、录制宏两种方式获得。通常是先录制宏,再在获得的宏的基础上进行语句优化调整,最后得到想要的宏。

2. Excel中使用VBA操作Access数据库

在《谁说菜鸟不会数据分析(工具篇)》第四章 让报告自动化中,涉及到根据输入日期,从Access数据库中提取相关数据到Excel中相关操作。

打开VBA编辑器的两种方式:

Excel → 开发工具 → Visual Basic:打开VBE后,点击插入,选择模块,就可以在该项目下新建一个空白模块。 Excel → 开发工具 → 插入 → 控件 → 右键控件 → 指定宏:可以直接将宏绑定到控件上,然后进行编辑。

进行编写代码前的准备工作:

Visual Basic → 工具 →  引用:引用 Microsoft ActiveX Data Objects 2.x Library,否则运行代码会报“用户定义类型未定义”提示。

Excel中用VBA根据输入的日期从Access数据库中提取相应的数据并插入到Excel表中:

Sub 数据提取() '定义数据库链接对象AdoConn Dim AdoConn As ADODB.Connection '定义数据库存放路径 Dim MyData As String '定义日期变量 Dim D1 As Date '定义日期变量 Dim D2 As Date '定义表示Ecxel行数的变量 Dim N As Integer '定义SQL字符串 Dim strSQL1 As String '定义SQL字符串 Dim strSQL2 As String '定义SQL字符串 Dim strSQL3 As String '定义SQL字符串 Dim strSQL4 As String '初始化数据库连接对象 Set AdoConn = New ADODB.Connection '指定数据库,该数据库放在当前Excel文件目录中,且名为“业务数据库.accdb” MyData = ThisWorkbook.Path & "\业务数据库.accdb" '日期输入对话框中的日期赋值给D1 D1 = InputBox("请输入需要提数的日期,例如:2011-9-4", "提数日期") '将D2赋值为D1+1 D2 = D1 + 1 '将数据源表中第三列第一个空格单元格的行数赋值给N N = ActiveSheet.Range("C1").End(xlDown).Row + 1 Debug.Print N '建立数据库链接,打开指定的数据库MyData With AdoConn .Provider = "Microsoft.ACE.OLEDB.12.0" .Open MyData End With '在用户明细表中根据输入的日期查询当天有多少用户注册 strSQL1 = "SELECT count(用户ID) FROM 用户明细 WHERE 注册日期=#" & D1 & "#" '在订购明细表中根据输入的日期查询当天有多少用户购买,注意去重 strSQL2 = "SELECT count(用户ID) FROM (SELECT DISTINCT 用户ID FROM 订购明细 WHERE 订购日期=#" & D1 & "#)" '在订购明细表中根据输入的日期查询当天订单数和业务收入 strSQL3 = "SELECT count(订单编号), sum(订购金额) FROM 订购明细 WHERE 订购日期=#" & D1 & "#" '在订购明细表中根据输入的日期查询截止到当前累计订购用户,注意去重 strSQL4 = "SELECT count(用户ID) FROM (SELECT DISTINCT 用户ID FROM 订购明细 WHERE 订购日期


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有