【问题标题】:Linked Table Manager: Need MS Access VBA code to change the file location of MS Excel file链接表管理器:需要 MS Access VBA 代码来更改 MS Excel 文件的文件位置
【发布时间】:2019-07-12 13:26:32
【问题描述】:

我有一个 2013 MS Access 数据库,在不同位置有多个用户。我有几个 excel 文件作为链接表。 Excel 文件位于共享驱动器上,因此所有用户都可以访问这些信息。我们遇到的问题是共享驱动器速度很慢,因此我们的报告需要很长时间才能加载。

我想要 VBA 代码,当用户打开数据库时,共享驱动器的 Excel 文件会自动下载到他们的本地配置文件桌面。当然,每个用户配置文件都不同,因此链接表必须知道更改个人配置文件名称:“C:\Users\”& Environ("Username")& "\Desktop\Reports"。链接表管理器将不允许 Environ("Username") 因此它可能必须在 VBA 中完成。

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    用于更改 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 或删除该参数,因为 Yes 是默认值。如果数据库需要密码,请使用;PWD=yourpassword

    【讨论】:

    • 感谢您发送代码,但它似乎只将相应的表格作为 Excel 电子表格导出到已识别的位置。但是,我想使用 VBA 更改链接表管理器的文件位置。
    • 看不懂评论。代码集链接到电子表格。这不是你要求的吗?现在添加首先复制文件的代码。
    • 比你!我再次尝试了代码,它成功了!非常感谢!
    • 还有一个问题。链接的电子表格已经具有列标题标题,但我注意到当链接表在数据库中重新链接时,标题现在是数字。如何选择现有的标头?
    • 对不起,我实际上并没有打开表格链接看到那个,只是看到链接路径被改变了。将 HDR=NO 更改为 HDR=Yes 或删除该参数,因为 Yes 是默认值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2021-05-01
    • 1970-01-01
    • 2013-03-15
    相关资源
    最近更新 更多