【问题标题】:Relink mySQL database in an access file在访问文件中重新链接 mySQL 数据库
【发布时间】:2011-01-18 08:17:23
【问题描述】:

我有一个作为 mySQL 数据库前端的服务器的访问文件。在访问文件中,我有几个表和查询。问题是我把mySQL数据库从一台主机换到另一台主机了,另一台不存在了。

我想要做的是将此访问文件中的表/查询重新链接到数据库而不是旧数据库。我删除了计算机上的旧 ODBC 记录,并创建了新记录。但是会发生什么,每次我尝试访问其中一个查询时,它都会显示 ODBC 连接属性,我必须将连接主机名从旧的更改为新的。我相信旧信息存储在文件中的某个位置,因此任何有关存储位置或何时我必须通过 VBA 代码手动执行的信息将不胜感激。

【问题讨论】:

    标签: mysql database ms-access


    【解决方案1】:

    信息有两个可能的存储位置:

    1. 在链接表的连接字符串中。

    2. 在已保存查询的连接字符串中。

    你可以用这个找到一个表的连接字符串:

      ?CurrentDB.TableDefs("MyTable").Connect
    

    ...对于保存的查询:

      ?CurrentDB.QueryDefs("MyQuery").Connect
    

    要更新前者,您应该只删除现有的链接表并从头开始重新链接。对于后者,您必须单独编辑每一个,或者编写代码来遍历 QueryDefs 集合并使用新值更改和保存 Connect 字符串。

    您可能还会发现Doug Steele's code for DSN-less connect strings 很有用。

    【讨论】:

    • 我的疑问是如何开始编写代码。您能否提供有关我应该如何编写它的分步说明。 (不是自己链接的代码,而是在哪里。IE。去Access数据库的X部分,写一个叫X的函数,然后就可以设置成这样自动运行了)
    • 好吧,您实际上不必编写任何代码——您可以手动完成。首先要做的是确定连接字符串的位置。如果它们在链接表中,那么按照我说的做,并删除现有链接并使用链接表管理器重新创建它们(没有代码!)。另一方面,如果连接字符串在查询中,您可能需要检查有多少——如果只有一个或两个,那么编写代码来修复它没有多大意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多