使用 VBA 从带有 ODBC 链接到 SQL Server 的 Access .mdb 数据库导出到 Access 格式的数据库中

问题描述

我有一个链接sql Server 2017 Express 数据库的 Access 2019 前端数据库

我想将前端的 VBA 代码中的表或查询导出到 Access (Jet) 格式的数据库中(作为用于更新远程站点的便携式数据格式)

我尝试过的代码(对于名为 FileLocation 的表)是:

Access.DBEngine.CreateDatabase "C:\Temp\ExportTest3.mdb",DB_LANG_GENERAL
docmd.TransferDatabase transfertype:=acExport,databasetype:="Microsoft Access",databasename:="c:\temp\ExportTest3.mdb",objecttype:=acTable,source:="FileLocation",destination:="FileLocation",structureonly:=false

此“有效”但在 ExportTest3 数据库中创建的表是到 sql 数据库链接(在 MSysObjects 中设置了 Connect 属性),因此依赖于 sql Server 连接,但我正在寻找一个独立的可移植 .可以在任何 PC 上读取的 mdb 文件

编辑:我发现我可以使用

docmd.Runsql "select * into FileLocationLocal from FileLocation"

然后使用 TransferDatabase 将 FileLocationLocal 表导出为非链接

但是有没有办法将其作为一个步骤来完成,或者有更好的方法吗?

解决方法

考虑:

Access.DBEngine.CreateDatabase "C:\Temp\ExportTest3.mdb",DB_LANG_GENERAL
CurrentDb.Execute "SELECT FileLocation.* INTO FileLocation IN 'C:\Temp\ExportTest3.mdb' FROM FileLocation"