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

时间:2011-09-07 10:57:29

标签: vba ms-access pass-through

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

1 个答案:

答案 0 :(得分:2)

您可以遍历查询集合:

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字符串,以测试是否存在所需的数据库名称。