ふとExcel VBAを使ったMySQLへの接続を試していないことを思い出したので、試してみることに。というわけで、早速ネットで情報収集を開始。
Excel VBAを使ってデータベースに接続する方法にはいくつかのやり方があるようで、私はそのうちのADOによる接続方法を試してみることにした。
ODBCドライバとデータソースはこれまでの間にすでにインストール&設定済みなので、あとはExcel VBAでコーディングするだけ。とは言え、VBAは今までほとんど書いたことがなかったので、少し時間がかかってしまった。
で、いつもならばselect文を発行して結果が抽出できれば満足して終わりなのだが、Excel上からMySQLのデータベースの更新もできれば便利かもと思い、Excel VBAの勉強を兼ねてさらに試行錯誤すること数時間。
そうしてできたのが、下図のようなもの。
null値を判定できなかったため、null値と空文字(または0)を区別できないが、エラーは一応ちゃんと取得できている(っぽい)。
接続文字列は外部ファイルに定義して、Excel VBAを書き換えなくても済むようにしてみた。接続してみたのはMySQLだけだが、接続したいデータベースのODBCドライバとデータソースをインストール&設定すれば、おそらく他のデータベースでも利用可能だと思われる。
というわけで、とりあえず完成。成果物はこちら。