#447 ストアドプロシージャの呼び出し例(SELECT系、パラメータあり) VBA

Accessプロジェクト(.ADP)などにおいて、VBAを使ってストアドプロシージャを呼び出す例です。

ここでは、SELECT文によってレコードを返すストアドプロシージャ、かつパラメータを持ったストアドプロシージャの呼び出しパターンのひとつを紹介します(他にもいろいろなオブジェクトを使ったコーディング方法があり、あくまでもその中の1つです)。


Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim rst As ADODB.Recordset

Set cnn = CurrentProject.Connection
Set cmd = New ADODB.Command
With cmd
  .ActiveConnection = cnn
  .CommandText = "ストアドプロシージャ名"
  .CommandType = adCmdStoredProc
  .Parameters.Refresh
  .Parameters("@パラメータ名1") = パラメータ値1
  .Parameters("@パラメータ名2") = パラメータ値2
  ・・・・・・ (パラメータの数だけパラメータ代入を列挙) ・・・・・・

  Set rst = cmd.Execute
End With
Set cmd = Nothing

(以降、rstオブジェクト変数のメソッドなどによってレコードを操作します)



  • 「Set rst = cmd.Execute」の代わりに次のような書き方もあります。
    rst.Open cmd, , adOpenStatic, adLockReadOnly, adCmdText
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved