戻る

DAO で ストアドプロシージャを実行する

概要

DAO で SQL Server に接続しストアドプロシージャの実行結果をレコードセットで取得します。
OpenRecordset メソッドの Options 引数に dbSQLPassThrough を指定します。
これは SQL文を直接 SQL Server に解釈させるためです。
SQL文は Exec に続けてストアドプロシージャ名、パラメータの値となります。

サンプル

「参照設定」で [Microsoft DAO 3.5 Object Library] に参照します。

  DAO で ストアドプロシージャを実行する

    ' DAO で SQL Server に接続し、
    ' ストアドプロシージャを実行した結果を得る
    
    Dim ws As DAO.Workspace, db As DAO.Database
    Dim rs As DAO.Recordset
    
    Set ws = DBEngine.Workspaces(0)
    
    Set db = ws.OpenDatabase("", FalseFalse, _
                             "ODBC;Driver={SQL Server};" & _
                             "SERVER=(local);DATABASE=pubs;" & _
                             "UID=sa;PWD=;")
             
    ' Options 引数に dbSQLPassThrough を指定する。
    Set rs = db.OpenRecordset("Exec byroyalty 50", _
                               dbOpenDynaset, dbSQLPassThrough)


©2000 VBMANIA All rights reserved.