0

定義済みの ODBC 接続文字列を使用して、MS-Access データベースに多数のパススルー クエリをセットアップしています。問題は、データベースが 2 つの MySQL データベースのいずれかにリンクできることです。ユーザーはデータベースの起動時にデータベースを選択し、システムは VBA を介して適切なテーブルを動的にリンクします (これは正常に動作します)。ただし、選択したデータベースと一致するように既存のクエリの ODBC 接続文字列を変更する必要があります。したがって、ODBC 接続文字列プロパティを新しい接続文字列に設定するすべての既存のパススルー クエリをループする VBA 関数が必要です。これを行う方法についてのアイデアはありますか?

4

1 に答える 1

3

クエリ コレクションをループできます。

Dim qdf As QueryDef

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

接続文字列を調べてInStr(qdf.Connect)、必要なデータベース名が存在するかどうかをテストすることもできます。

于 2011-09-07T11:12:44.997 に答える