次の方法で共有


Execute メソッド (ADO Connection)

適用先: Access 2013 | Access 2016

指定されたクエリ、SQL ステートメント、ストアド プロシージャ、またはプロバイダー固有のテキストを実行します。

構文

行を返さないコマンド文字列の場合の構文は次のとおりです。

接続CommandText の実行RecordsAffectedオプション

行を返すコマンド文字列の場合の構文は次のとおりです。

レコードセット接続を設定します = 。Execute( CommandText, RecordsAffected, Options )

戻り値

Recordset オブジェクトの参照を返します。

パラメーター

  • CommandText

    • 実行する SQL ステートメント、ストアド プロシージャ、URL、またはプロバイダー固有のテキストを含む文字列型 ( String ) の値です。 テーブル名を使用することもできますが、プロバイダーが SQL 対応である場合に限られます。 たとえば、"Customers" というテーブル名を使用すると、SQL の標準の Select 構文が自動的に前に付加されて "SELECT * FROM Customers" というステートメントが作成され、T-SQL ステートメントとしてプロバイダーに渡されます。
  • RecordsAffected

    • 省略可能です。 この操作の影響を受けたレコード数をプロバイダーが返す長整数型 ( Long ) の値です。
  • Options

    • オプション。 プロバイダーが CommandText 引数を評価する方法を示す長整数型 (Long) の値です。 1 つまたは複数の CommandTypeEnum 値または ExecuteOptionEnum 値のビットマスクを指定できます。

注:

[!メモ] 内部処理を最小限に抑えてパフォーマンスを向上させるには、 ExecuteOptionEnum の値 adExecuteNoRecords を使用します。

Execute では、 CommandTypeEnum の値 adCmdFile または adCmdTableDirect を使用しないでください。 これらの値は、RecordsetOpen メソッドおよび Requery メソッドのオプションとしてのみ使用できます。

解説

Connection オブジェクトで Execute メソッドを使用すると、CommandText 引数でメソッドに渡したクエリが、その接続で実行されます。 CommandText 引数で行を返すクエリを指定すると、実行結果はすべて新しい Recordset オブジェクトに格納されます。 コマンドが結果 (SQL UPDATE クエリなど) を返すことを意図していない場合、adExecuteNoRecords オプションが指定されている限り、プロバイダーは Nothing を返します。それ以外の場合、Execute は閉じた Recordset を返します

返される Recordset オブジェクトは常に、読み取り専用で前方スクロール タイプのカーソルです。 より多くの機能を備えた Recordset オブジェクトが必要な場合は、まず目的のプロパティ設定を持つ Recordset オブジェクトを作成し、次に Recordset オブジェクトの Open メソッドを使用してクエリを実行して、目的のカーソルの種類を返します。

CommandText 引数の内容はプロバイダーに固有のものであり、標準の SQL 構文またはプロバイダーがサポートする固有のコマンド形式を使用できます。

この操作が完了すると、ExecuteComplete イベントが発生します。

注:

[!メモ] http スキームを使用している URL は、Microsoft OLE DB Provider for Internet Publishing を自動的に呼び出します。 詳細については、「絶対 URL と相対 URL」を参照してください。

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。