VBA - 从 Excel 更新 Access 文件的链接表
Posted
技术标签:
【中文标题】VBA - 从 Excel 更新 Access 文件的链接表【英文标题】:VBA - Update Linked Table of an Access file from Excel 【发布时间】:2018-07-25 08:45:17 【问题描述】:我正在尝试使用 Excel 文件中的 VBA 编码从 Access 文件“Hey.accdb”中更改链接表地址。
我在我的 Excel 文件中编写了下面的脚本,当我运行它时它会提示错误“需要对象”。有人可以帮我解决这个问题。我已经盯着它太久了。谢谢。
Sub RunMacroinAccesswithPara2()
Set Db = CreateObject("Access.Application")
Db.OpenCurrentDatabase "D:\Database1\Hey.accdb"
Db.Visible = True
Db.AutomationSecurity = msoAutomationSecurityLow
DoCmd.TransferDatabase TransferType:=acLink, _
DatabaseType:="Microsoft Access", _
DatabaseName:="V:\Reporting\Quarterly\2018Q2\JP\Data\04\Database\Valuation_Database.mdb", _
ObjectType:=acTable, _
Source:="Valuation_Database_Adjusted", _
Destination:="Valuation_Database_Adjusted"
End Sub
【问题讨论】:
【参考方案1】:DoCmd
属于 Access 应用程序对象。
所以用
Db.DoCmd.TransferDatabase ' etc.
编辑
要更新链接,您需要TableDef
对象,设置其.Connect
属性并运行.RefreshLink
。
见Linked table ms access 2010 change connection string
【讨论】:
嗨安德烈!这行得通。但是,它会创建一个重复的表。无论如何我可以更新现有表的链接(不使用删除表然后传输数据库)?以上是关于VBA - 从 Excel 更新 Access 文件的链接表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用sql语句和vba将数据从MS-Access导入excel power查询?
从 Access 2010 VBA 打开 Excel 2010 文件
VBA - 从 Access (QueryTable) 生成 Excel 文件
VBA 将 Excel 文件从 Access 保存为 .xls