connectionstrings.com

記事
IT・テクノロジー
 Windowsプログラム(VB.netやExcel VBAなど)からデータベースに接続する場合、ADO (ActiveX Data Object)を使用したコーディングが必要となります。
 このコードは、外部データとの通信に不慣れなプログラマにとって、やや分りづらいものです。

 そこで今回の記事では、中級者の方を対象として、Excel VBAを使用したデータベースアクセスの基本的な動作イメージを紹介したいと思います。
 どのようなプログラムを組むにせよ、全体のデータフローがイメージできているか否かは、その後に進めるコード記述作業を、大きく左右すると考えます。

 まず、全体の流れです。これは非常にシンプルです。

(1) 対象のデータベースに接続する。
  データベースの形式は様々です。ファイル形式のものもあれば、データベースサーバとして独立したPCやサーバを立てている場合もあるでしょう。あるいは、Microsoft Shrepointなど メーカがサービスとして提供しているWEB上のデーがベースサーバもあります。
  まずはじめに、これからクエリを発行したいデータベースを特定できる形で、データベースに接続要求を行うことが、最初に行う作業になります。

(2) データベースから接続応答が返ってくる。
  接続要求を受けたデータベースサーバ(対象がファイルの場合はデータベースドライバ)から、接続を受け付けるか/否かの応答が返ってきます。
  (1)項の接続要求にて、そのときに指定したユーザ名やパスワードなどの認証情報を元に、データベースサーバ(あるいはデータベースドライバ)が判断した結果となります。
  うまく接続できない場合は、(1)接続要求で指定したパラメータに問題があることがほとんどです。Excel VBAで接続する場合は、www.connectionstrings.com を参考に、ConnectionStringを見直すと、うまくいくことが多い気がします。

(3) クエリを発行する
  データベースに問題なく接続さえできれば、後はご希望のクエリを発行するだけです。
  SELECT, INSERT, DELETE, UPDATEなど、対象のデータベースエンジンに応じたクエリを発行してください。
  Excel VBAに限らず、プログラムを記述/実行しているPCは、ただクエリを発行して、その結果を受け取るだけですので、後はSQL文の世界です。

(4) クエリ結果を受け取る
  クエリを発行すると、データベースサーバ(あるいはデータベースドライバ)は その応答を返します。SELECTクエリであれば、クエリ結果をデータテーブルなどのマトリクスデータを返します。INSERT, UPDATE, DELETEクエリなどであれば、OK/NGだけの単純な結果を返します。
  データベースやドライバの種類によっては、エラーコードを返すものもあります。
  このエラーコードは、クエリの誤りを調べる重要な手がかりになります。

(5) データベースから切断する
  一連の処理が完了したら、データベースサーバから切断しておきます。

````````
以上のような流れで、Excel VBAからデータベースサーバにクエリを発行することができます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す