VBA命令按钮实现 REST API 数据导入 MS Access 完整指南

作者:API传播员 · 2025-10-13 · 阅读时间:5分钟
本教程详细介绍了如何通过VBA命令按钮将REST API数据导出至MS Access数据库的完整流程,包括配置ZappySys JSON驱动的ODBC DSN、发起REST API调用、使用ODBC JSON驱动读取OData数据并将其导入Access表。适合需要在项目中高效处理REST API数据的开发者。

一. 引言

在之前的博客中,我们介绍了如何使用 C 语言或 Python 将 REST API 数据导出为 CSV 文件。本篇文章将重点讲解如何通过 VBA 命令按钮 将 REST API 数据导入 MS Access 数据库,同时涵盖:

  • 如何发起 REST API 调用
  • 使用 ODBC JSON 驱动 读取 OData 数据
  • 将数据导入 Access 表的完整流程

二. 什么是 REST API 和 OData?

在本教程中,我们将使用 OData(开放数据协议)来调用 REST API。

  • REST API(表征状态转移应用程序接口):一种用于实现计算机与互联网之间互操作性的接口标准,支持多种数据格式的 Web 服务处理。
  • OData:基于 REST 的协议,简化数据查询和操作,使应用程序可以轻松访问数据服务。

示例中使用 Northwind 数据库进行演示。默认情况下,数据以 XML 格式显示,也可通过特定 URL 获取 JSON 格式数据。


三. 配置 ZappySys JSON 驱动的 ODBC DSN

在将 REST API 数据导入 Access 之前,需要先配置 ZappySys JSON 驱动 的 ODBC DSN。

配置步骤

  1. 打开 ODBC 数据源管理器

    • 在 Windows 搜索框中输入“ODBC”,选择 ODBC 数据源(32位)
  2. 添加 ZappySys JSON 驱动

    • 在 ODBC 数据源管理器中,选择 用户 DSN 标签,点击 添加
    • 从驱动列表中选择 ZappySys JSON Driver 并按提示完成配置

完成配置后,即可通过 DSN 访问 REST API 数据。


四. 使用 VBA 将 REST API 数据导入 Access

通过 VBA 命令按钮实现数据导入功能的步骤如下:

1. 创建 VBA 命令按钮

  • 在 Access 窗体中添加一个命令按钮并命名

2. 编写 VBA 代码

  • 在按钮的点击事件中编写代码,调用 REST API 并将数据导入 Access 表
  • 使用 ActiveX 数据对象库(ADO) 来处理数据连接和操作

注意:必须在 VBA 编辑器中添加 Microsoft ActiveX 数据对象库的引用,否则代码运行时会报错


五. 常见错误及解决方法

在使用 ODBC PowerPack 创建的 DSN 时,可能遇到以下错误:

License type [ODBC_PP_TRIAL] not found or its expired

解决方案请参考:解决 Microsoft Access 中 "许可证类型[ODBC_PP_TRIAL] 未找到或已过期" 错误


六. 窗体 VBA 代码结构示例

Private Sub CommandButton_Click()
    ' 初始化 ADO 对象
    Dim conn As Object
    Dim rs As Object
    Dim strConn As String

    ' 配置 ODBC 连接字符串
    strConn = "DSN=YourDSNName;UID=YourUsername;PWD=YourPassword;"

    ' 创建连接
    Set conn = CreateObject("ADODB.Connection")
    conn.Open strConn

    ' 执行查询并将数据导入 Access 表
    Set rs = conn.Execute("SELECT * FROM YourAPIEndpoint")
    Do While Not rs.EOF
        ' 数据处理逻辑
        rs.MoveNext
    Loop

    ' 关闭连接
    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
End Sub

代码展示了如何通过 VBA 从 REST API 读取数据并导入 Access 表,可根据实际需求调整数据处理逻辑。


七. 总结

通过本教程,您已掌握如何使用 VBA 命令按钮 将 REST API 数据导入 MS Access 数据库的完整流程,包括:

  1. 配置 ZappySys JSON 驱动 的 ODBC DSN
  2. 使用 VBA 编写代码调用 REST API 并导入数据
  3. 解决常见错误

希望本文能帮助您在实际项目中高效处理 REST API 数据。如果有问题或建议,欢迎留言讨论。

原文链接: https://zappysys.com/blog/export-rest-api-ms-access-using-vba-command-button/