Access数据库是微软一个经典的小型数据库,该数据库在职场办公环境中有着广泛的应用,对于办公环境中,单个部门或者跨部门的数据存储、共享和交互有着重要的作用,弥补Excel表格在多人共享和数据存储的不足。今天《神奇的VBA》将分享如何从Access数据库中查询数据的代码。
首选注意事项:
VBE中务必添加引用“Microsoft Activex Data ObjectsLibrary” 任意版本即可。
无密码保护的数据库
这种情况可能很少见,但是如果您需要从未受保护的 Access 数据库中读取数据,可借鉴以下代码改写:
示例代码:是将名称为《公司信息》的Access数据库中的“员工信息表”中存储的所有员工信息一次性查询并显示在活动工作表中。
Sub 查询Access数据_不含数据库密码()Dim Conn As New ADODB.Connection'Microsoft Activex Data Objects LibraryDim rs As New ADODB.RecordsetDim sSQL As StringDim sConnect As StringsConnect ="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\baowangfu\Desktop\公司信息.accdb;Persist Security Info=False;"Conn.Open sConnectsSQL = "SELECT * FROM 员工信息表"rs.Open sSQL, ConnActiveSheet.Range("A1").CopyFromRecordsetrsrs.CloseConn.CloseEnd Sub密码保护数据库
更常见的场景, 连接到密码保护访问数据库并不困难,所有内容都在使用的连接字符串(sConnect)中,下面示例中假设数据库密码为:123456。
Sub 查询Access数据_含数据库密码()Dim Conn As New ADODB.Connection 'Microsoft ActivexData Objects LibraryDim rs As New ADODB.RecordsetDim sSQL As StringDim sConnect As StringsConnect = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\baowangfu\Desktop\公司信息.accdb;Jet OLEDB:DatabasePassword=123456;"Conn.Open sConnectsSQL = "SELECT * FROM 员工信息表"rs.Open sSQL, ConnActiveSheet.Range("A1").CopyFromRecordsetrsrs.CloseConn.CloseEnd Sub需要说明的是,经过验证,如果数据库本身没有设置任何密码, 那么带有密码的数据库连接字符串将忽略密码验证。直接连接数据库。
运用本篇《神奇的VBA》分享的几行代码,您即可连接到 Access 数据库以检索整表信息,非常简单。本篇抛砖引玉,实际运用时,需求场景多变,用户可以学习SQL语句按条件查询信息。
原创码字不易
欢迎"点赞","转发" 或点击"在看"
更多历史原创文章:
《神奇的VBA》编程:强制变量声明 Option Explicit
《神奇的VBA》全面改版升级中...
《神奇的VBA》编程:监控表格单元格值的变化
《神奇的VBA》编程:批量清除多个字符
《神奇的VBA》编程:获取Access数据表列表
《神奇的VBA》编程:禁止修改Excel工作表名称
《神奇的VBA》编程:一次性讲清楚VBA注释
《神奇的VBA》编程:快速定位报表列
《神奇的VBA》编程:获取文件是否被占用
《神奇的VBA》编程:执行速度和效率(1)
《神奇的VBA》编程:执行速度和效率(2)
《神奇的VBA》编程:标识重复数据