我有一个2013 MS Access数据库,在不同位置有多个用户。我有几个Excel文件作为链接表。 Excel文件位于共享驱动器上,因此所有用户都可以访问该信息。我们遇到的问题是共享驱动器运行缓慢,因此加载报告需要很长时间。
我想要VBA代码,当用户打开数据库时,共享驱动器Excel文件会自动下载到其本地配置文件桌面。当然,每个用户配置文件都是不同的,因此链接表必须知道更改人员配置文件名称:“ C:\ Users \”和Environ(“ Username”)&“ \ Desktop \ Reports”。链接表管理器将不允许Environ(“ Username”),因此可能必须在VBA中完成。
答案 0 :(得分:0)
用于更改到Excel工作表的链接路径的代码。这要求已经建立了与工作表的链接,并且db中存在链接对象。
Sub ChangeExcelLink()
Dim Tdf As DAO.TableDef
Dim Db As DAO.Database
Set Db = CurrentDb
Set Tdf = Db.TableDefs("link table name")
Tdf.Connect = "Excel 12.0;DATABASE=C:\Users\" & Environ("Username") & _
"\Desktop\Reports\filename.xlsx;HDR=NO"
Tdf.RefreshLink
Set Tdf = Nothing
Set Db = Nothing
End Sub
如果工作表具有要保留的列标题,则将HDR=No
更改为HDR=Yes
或删除该参数,因为默认为是。如果数据库需要密码,请使用;PWD=yourpassword
。