【问题标题】:How can I automatically link an Access front-end file to a back-end?如何自动将 Access 前端文件链接到后端?
【发布时间】:2014-05-23 02:41:03
【问题描述】:

我有一对 Access 文件,一个前端和一个后端,我与多个用户共享并经常更新。我正在寻找一种自动链接这两个文件的方法,这样我的用户就不需要使用链接表管理器。我怀疑可以使用 VBA 创建解决方案。我回顾了一些可能性,herehere,但它们不适用于我的特定场景,如下所示。

  • 这两个文件始终存在于同一个用户目录中。
  • 这是每个目录中仅有的两个 Access 文件。
  • 目录位于用户的本地 C: 驱动器(在 Dropbox 文件夹中)。
  • 这两个文件的名称会随着每个版本/内部版本的更新而略有变化。
    • 示例前端名称:“DigExams_0.10.f005.u101.accdb”
    • 示例后端名称:“DigExams_backend_0.10.b001.u101.accdb”
    • 命名约定:“文件名*_major#.minor#.build#.user#.accdb”
    • [ * 后端文件还包含“后端”一词。 ]

我在想一些代码可以嵌入到前端的按钮中,该按钮将 (OnClick) 运行链接表管理器,在目录中查找唯一的其他 Access 文件(或在名称),然后将所有表链接到它。如果有冲突,比如目录中有第三个Access文件,就会报错。

建议?建议?谢谢!

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    目标文件存储在TableDef 对象的Connect 属性中。

    您需要将Connect 属性的相关部分替换为新文件名。

    Dim tdf as TableDef
    For each tdf in CurrentDB.TablDefs
       StringToBeParsed =tdf.Connect
       .... 'here goes the code to replace the connection string with new target file
    Next
    

    【讨论】:

    • 感谢您的指导。我可以使用通配符指定文件名来查找后端访问文件吗?例如,(伪代码):tdf.Connect "DigExams_backend_*"?另外,我需要引用CurrentDB的目录吗?
    • 您不能在Connect 属性中使用通配符。使用带有通配符的Dir 来定位文件,然后使用确切的文件名。
    • CurrentDB 是当前 Access 文件的数据库对象。 TableDefs 是指定数据库中表的集合。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多