如何在 VBA 中更改现有 MS-ACCESS 直通查询的 ODBC 连接字符串

发布于 2024-12-03 08:50:03 字数 224 浏览 1 评论 0原文

我在 MS-Access 数据库中使用预定义的 ODBC 连接字符串设置了许多传递查询。问题是该数据库可以链接到两个 MySQL 数据库之一。用户在启动数据库时选择数据库,系统通过 VBA 动态链接相应的表(这工作正常),但是我随后需要更改现有查询中的 ODBC 连接字符串以匹配所选数据库。因此,我需要一个 VBA 函数来循环遍历所有现有的传递查询,将 ODBC 连接字符串属性设置为新的连接字符串。关于如何做到这一点有什么想法吗?

I have a number of pass-through queries setup in a MS-Access database with pre-defined ODBC connection strings. The problem is the database can link to one of two MySQL databases. The user selects the db on starting the database and the system dynamically links the appropriate tables via VBA (this works fine) However I then need to alter the ODBC Connection strings in the existing queries to match the selected db. I therefore needa VBA function to loop through all the existing pass-through queries setting the ODBC connection string propertiy to the new connection string. Any ideas on how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧街凉风 2024-12-10 08:50:03

您可以循环遍历查询集合:

Dim qdf As QueryDef

For Each qdf In CurrentDb.QueryDefs
    If qdf.Type = dbQSQLPassThrough Then
        qdf.Connect = NewConnect
    End If
Next

您还可以使用 InStr(qdf.Connect) 检查 Connect 字符串,以测试所需数据库名称是否存在。

You can loop through the queries collection:

Dim qdf As QueryDef

For Each qdf In CurrentDb.QueryDefs
    If qdf.Type = dbQSQLPassThrough Then
        qdf.Connect = NewConnect
    End If
Next

You could also examine the Connect string with InStr(qdf.Connect) to test for the existence of the required database name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文