VBA でデータベース接続処理を書いた事のある方、いらっしゃることだろう。

データベースを読み込む箇所では毎回接続処理を書いたりしているのではないだろうか?仮に「DBアクセス共通処理」を作ったとしても、ある箇所で既に使用し、セッションを使っていたら利用できないから共通化なんて無理!と言われるかもしれない。

いやいや、ところが共通化はできるのである。そのキーワードは「クラスモジュール」の利用である。

クラスモジュールは、必要なときに必要なだけ、コピーを取って利用することができる。そう、テストの答案用紙の原紙があるとしよう。
・生徒が3人やってきたら3枚コピーし、名前を書いて貰う。 
  ⇒クラスモジュールは必要に応じてコピーをする。ただし、識別できる名前を付ける必要がある。
・生徒に問題を解かせる。もちろん、ある生徒が書いた回答が別の生徒の回答に影響を与えることはない。
  ⇒クラスモジュールはそれぞれのコピーは独立しており、互いに干渉しない。
こんなような関係なので、クラスモジュールで共通処理を作り、接続するところでそれぞれの名前を付けてコピー(生成)し、使い終わったら破棄する、というようにすればよい。

このあたりはソースコード付きで近く解説したいと思う。