Linuxサーバより愛を込めて。

Linux(Ubuntu)サーバとダーツを愛する中年サラリーマンの日記。

Microsoft Office

Access側パススルークエリのODBC接続文字列を一括更新

2015/04/01

実家で遊び半分で作っていたAccessデータベースがあるのですが、この度現自宅のテストサーバにMySQLをインストール・ODBC接続が可能になったため接続先をテストサーバに変更したいと思います。

 

が、複数あるパススルーの接続を一個ずつ変えるのもとてもめんどくさい。

 

ということで、接続先を一括で変更するモジュールを作成しました。

 

美しくないかもしれませんが、およそ以下の通りです。

 

Public Function Fun_ODBC接続先更新()

Dim O As Object
Dim db As DAO.Database
Dim pass_q As DAO.QueryDef

Set db = CurrentDb

For Each O In Application.CurrentData.AllQueries
Set pass_q = db.QueryDefs(O.Name)
pass_q.Connect = GLB_CON

Next

End Function

 

といった感じでしょうか。

※GLB_CONは自分のDB内で使用している変数で、他のモジュールにて定義しているものです。このままだと動かないので、別途定義しなおす必要があるかと思います、念のため。

 

今後も接続先を書き換えることなどあると思うので、接続先変更のフォームでも作ってコマンドボタンに上記のモジュールを割り当てておけば何時でも一括更新が可能になります。

 

結構べんりですな。

-Microsoft Office
-, ,