Access数据库是微软一个经典的小型数据库,该数据库在职场办公环境中有着广泛的应用,对于办公环境中,单个部门或者跨部门的数据存储、共享和交互有着重要的作用,弥补Excel表格在多人共享和数据存储的不足。今天《神奇的VBA》将分享如何从Access数据库中查询数据的代码。

首选注意事项:

VBE中务必添加引用“Microsoft Activex Data ObjectsLibrary” 任意版本即可。

无密码保护的数据库

这种情况可能很少见,但是如果您需要从未受保护的 Access 数据库中读取数据,可借鉴以下代码改写:

示例代码:是将名称为《公司信息》的Access数据库中的“员工信息表”中存储的所有员工信息一次性查询并显示在活动工作表中。

Sub 查询Access数据_不含数据库密码() Dim Conn As New ADODB.Connection'Microsoft Activex Data Objects Library Dim rs As New ADODB.Recordset Dim sSQL As String Dim sConnect As String sConnect ="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:baowangfuDesktop公司信息.accdb;Persist Security Info=False;" Conn.Open sConnect sSQL = "SELECT * FROM 员工信息表" rs.Open sSQL, Conn ActiveSheet.Range("A1").CopyFromRecordsetrs rs.Close Conn.Close End Sub

密码保护数据库

更常见的场景, 连接到密码保护访问数据库并不困难,所有内容都在使用的连接字符串(sConnect)中,下面示例中假设数据库密码为:123456。

Sub 查询Access数据_含数据库密码() Dim Conn As New ADODB.Connection 'Microsoft ActivexData Objects Library Dim rs As New ADODB.Recordset Dim sSQL As String Dim sConnect As String sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:baowangfuDesktop公司信息.accdb;Jet OLEDB:DatabasePassword=123456;" Conn.Open sConnect sSQL = "SELECT * FROM 员工信息表" rs.Open sSQL, Conn ActiveSheet.Range("A1").CopyFromRecordsetrs rs.Close Conn.Close End Sub

需要说明的是,经过验证,如果数据库本身没有设置任何密码, 那么带有密码的数据库连接字符串将忽略密码验证。直接连接数据库。

运用本篇《神奇的VBA》分享的几行代码,您即可连接到 Access 数据库以检索整表信息,非常简单。本篇抛砖引玉,实际运用时,需求场景多变,用户可以学习SQL语句按条件查询信息。

原创码字不易

欢迎"点赞","转发" 或点击"在看"



更多历史原创文章:

《神奇的VBA》编程:强制变量声明 Option Explicit

《神奇的VBA》全面改版升级中...

《神奇的VBA》编程:监控表格单元格值的变化

《神奇的VBA》编程:批量清除多个字符

《神奇的VBA》编程:获取Access数据表列表

《神奇的VBA》编程:禁止修改Excel工作表名称

《神奇的VBA》编程:一次性讲清楚VBA注释

《神奇的VBA》编程:快速定位报表列

《神奇的VBA》编程:获取文件是否被占用

《神奇的VBA》编程:执行速度和效率(1)

《神奇的VBA》编程:执行速度和效率(2)

《神奇的VBA》编程:标识重复数据