TransferDatabase命令未传输数据:Access数据库数据迁移异常排查
问题分析与解决办法
核心错误:你用了
acLink作为TransferDatabase的第一个参数,这个参数是用来创建链接表的,并非导入本地表。执行这段代码后,tblLocal其实是指向外部库tblLinked的链接表,而非真正的本地表。如果外部库的tblLinked本身无数据,或是链接路径存在问题,就会出现“无数据但无报错”的情况。正确的导入代码:把
acLink改成acImport,这样才能将外部表的数据和结构导入为当前库的本地表:
DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\Users\Desktop\External_DataSources.accdb", acTable, "tblLinked", "tblLocal", False
- 额外排查点:
- 确认外部库
External_DataSources.accdb中的tblLinked确实存在数据 - 检查文件路径
C:\Users\Desktop\External_DataSources.accdb是否正确(注意:Users后需填写你的用户名,比如C:\Users\你的用户名\Desktop\...,路径错误或权限不足可能导致无提示失败) - 确保当前数据库有目标位置的写入权限,外部库有读取权限
- 确认外部库
内容的提问来源于stack exchange,提问作者user16800302
相关产品推荐
相关产品推荐

