#597 | Docmdでパラメータ付きのストアドプロシージャを実行する方法 | VBA | |
AccessでSQL Server上のパラメータを持ったストアドプロシージャを実行する場合、ADOのCommandオブジェクトを使ったりParametersコレクションを設定したりといった方法で実行することが多いと思います。 一方、Accessプロジェクト(.adp)においては、そのAccessデータベースファイル内のひとつのクエリオブジェクトとしてSQL Server上のストアドプロシージャが存在しているかのようなイメージになりますので、DoCmdオブジェクトの「RunSQL」メソッドを利用することによって、基本的に1行のコードでストアドプロシージャ名とパラメータ値を指定して実行させることができます。 次のプログラムは、フォームモジュールのボタンのクリック時イベントなどでストアドプロシージャを呼び出す例です。「uspCustDelete」というストアドプロシージャに、フォーム上の「CustID」という名前のコントロールの値をパラメータと付加して呼び出しています。 「RunSQL」メソッドの引数として、一般にSQL Serverでストアドプロシージャを実行させるような命令、つまり「EXEC <ストアドプロシージャ名> <パラメータ1>, <パラメータ2>, <パラメータ3>,・・・・・・」といった内容を文字列として組み立てて与えていることが分かると思います。 With DoCmd .SetWarnings False .RunSQL "EXEC uspCustDelete " & Me!CustID .SetWarnings True End With |
|||
|
Copyright © T'sWare All rights reserved |