【Excel・Access VBA】ADOでストアドを実行するサンプルプログラム

スポンサーリンク
VBA

今回はVBAからADO経由でデータベースサーバーのストアドプロシージャを実行する方法を紹介します。

尚、以前にVBAのADOを使用したデータベースの接続関連のクラスを紹介させていただきましたが、今回はそのクラスをベースに、ストアド実行用のメソッドを追加する方法で実装しています。

よって、以下の記事も併せてご参照ください。

【Excel・Access VBA】データベース接続用クラスで時短プログラミング
ExcelやAccessでデータベースに接続してデータ取得やデータ更新処理を実行する場合に、ADOを利用して実装することは多いかと思いますが、データベースへの接続処理を行う度に、データベースへの接続文字列を記述したり、データベースへの接続や...

 

スポンサーリンク

サンプルプログラム

以下の項で、以前に紹介したデータベース接続用クラスに追加するメソッドのプログラムと、そのメソッドを呼び出すサンプルプログラムを記載します。

データベース接続クラスに追加するプログラム

当処理は、以前に紹介したデータベース接続用クラス(クラス名:DataBaseAccess)をそのまま使用していただいている場合は、以下のプログラムをそのクラスの処理の最後尾にでもペタッと貼り付けてもらうだけで良いです。
※Connectionは上記リンクで掲載しているクラスから取得してきていることが前提の処理で作られているので、もしそのクラスを使わずに当メソッドを使用する場合は、データベースとのConnectionを別途生成してください。

 

メソッドの仕様概要

  • メソッドの引数は「実行するストアド名」「ストアドに渡すパラメータ」。
  • パラメータは五つまで対応しそれ以上渡されても無視します。
  • パラメータは二次元配列とし、「パラメータ名」「データ型」「値」を格納します。
  • メソッドの戻り値にはストアドの戻り値をそのままセットします。

 

メソッド呼び出しサンプルプログラム

当項では呼び出し側のサンプルプログラムを記載します。

上記のサンプルプログラムでは、実行パラメータを二つ持っている「dbo.sample_stored_procedure」という名称のストアドを実行しています。
また、ストアドの戻り値が1の場合は異常とみなしています。

最後に

今回作成したストアド実行用のメソッドは、どんなストアドでも呼べるように汎用性を持たせた実装をしたつもりですが、実行環境に合わせて作り替えてご使用ください。

それでは今回も読んでいただきありがとうございました。