问题描述
我有一个链接到 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"