Command オブジェクト | (バージョン 2.0、2.1、2.5、2.6)
Dim object As ADODB.Command Command オブジェクトは、指定されたデータソースに対して SQL ステートメント、クエリー、またはストアドプロシージャを実行します。Command オブジェクトは、データソースの構造の変更、大きなバッチ操作の実行、または Recordset オブジェクト内で返されるレコードの選択を行うことができます。

Command.ActiveConnection プロパティ | (バージョン 2.0、2.1、2.5、2.6)
Command.ActiveConnection = ConnectionString Set Command.ActiveConnection = ConnectionObject
ActiveConnection プロパティは、現在の Command オブジェクトの Connection オブジェクトを指定します。
データタイプ
String または Variant (現在の Connection オブジェクトを含む)
説明
ActiveConnection プロパティは、接続文字列を表す文字列、または開いている Connection オブジェクトを表す Variant のいずれかに設定できます。 ActiveConnection プロパティは、文字列、または Connection オブジェクトへの参照のいずれかに設定できます。文字列を使用する場合、その文字列は Connection オブジェクトの ConnectionString プロパティへ渡すことができる有効な接続文字列である必要があります。Command オブジェクトを実行する前に、ActiveConnection プロパティを設定する必要があります。設定前の ActiveConnection プロパティの値は、デフォルトでは Null オブジェクト参照です。 ActiveConnection プロパティの値を、閉じた Connection オブジェクトに設定すると、ADO によりエラーが生成されます。このプロパティの値を Nothing に設定すると、ADO は Command オブジェクトを Connection オブジェクトから分離し、データソースに関連付けられているリソースを解放します。ActiveConnection プロパティを Nothing または異なる Connection オブジェクトに設定すると、Command オブジェクトの Parameters コレクションにある、データプロバイダから供給された Parameter オブジェクトは失われます。ただし、手動で Parameters コレクションに追加した Parameter オブジェクトは失われません。 Command オブジェクトに関連付けられている Connection オブジェクトを閉じると、Command オブジェクトの ActiveConnection は自動的に Nothing に設定されます。
関連項目
Connection.ConnectionString プロパティ

Command.Cancel メソッド | (バージョン 2.0、2.1、2.5、2.6)
Command.Cancel
Cancel メソッドは、実行している保留中の非同期コマンドをキャンセルします。
説明
Cancel メソッドは、adAsyncExecute オプションを使用して Execute メソッドで開始された実行中の非同期コマンドをキャンセルします。 adAsyncExecute オプションを設定せずに実行したコマンド上で Cancel メソッドを呼び出すと、エラーが発生します。
関連項目
Command.Execute メソッド

Command.CommandStream プロパティ | (バージョン 2.6)
Command.CommandStream = Stream
CommandStream プロパティは、CommandText プロパティが入力として使用されるコマンドを識別するように、Command オブジェクトの入力として使用されるデータプロバイダ固有のストリームを設定または返します。
データタイプ
Variant
説明
CommandStream プロパティは、Command オブジェクトの入力として使用されるストリームを指定します。このプロパティを設定すると、CommandText プロパティは空の文字列 (") に設定されます。同様に、CommandText プロパティを設定すると、CommandStream プロパティは Nothing に設定されます。 ソースがストリームの Command オブジェクトを使用して Recordset オブジェクトを作成した場合、Recordset オブジェクトの Source プロパティを読み込むと、空の文字列 (") が返されます。これは、読み込みにより Command オブジェクトの CommandText プロパティの値が返されるからです。 CommandStream プロパティを設定する場合、CommandType プロパティに対して adCmdText または adCmdUnknown の列挙値を使用する必要があります。 CommandStream プロパティに設定するストリームのフォーマットは、Command.Parameters.Refresh と Command.Prepare の両メソッドの動作と同様に、データプロバイダ固有です。
関連項目
Command.CommandText プロパティ、Comand.CommandDialect プロパティ、CommandTypeEnum 列挙、Recordset.Source

Command.CommandText プロパティ | (バージョン 2.0、2.1、2.5、2.6)
Command.CommandText = CommandText
CommandText プロパティは、データプロバイダが認識できる有効な SQL ステートメント、テーブル名、ストアドプロシージャ名、相対 URL、または他の任意のコマンドテキストを設定または返します。
データタイプ
String
説明
CommandText プロパティは、デフォルトで長さが 0 の文字列 (") を含む文字列を保持します。この文字列は、データプロバイダが認識できる SQL ステートメント、テーブル名、ストアドプロシージャ呼び出し、相対 URL、または他の任意のコマンドテキストに設定できます。 CommandType プロパティは、CommandText プロパティ内にある情報のタイプを ADO に示すために使用されます。CommandType プロパティを adCmdText に設定すると、このプロパティは、CommandText プロパティの値にはプロバイダが理解できるテキストコマンドが含まれていることをプロバイダに示します。このテキストコマンドは、通常 SQL ステートメントですが、必ずしもそうであるとは限りません。 CommandText プロパティを設定した場合、Command オブジェクトの Prepared プロパティが True に設定され、開いている接続にバインドされているときは常に、ADO は Execute メソッドまたは Open メソッド上に指定されたクエリーを準備します。 CommandText の値は、CommandType プロパティの値に応じて ADO により変更される可能性があります。その値に疑問がある場合はいつでも、CommandText プロパティの値を取得してください。 CommandStream プロパティを 1 つの値に設定すると、CommandText プロパティは自動的に空の文字列 (") に設定されます。
関連項目
Command.CommandStream、Command.CommandType プロパティ、Command.Dialect プロパティ、Command.Prepared プロパティ

Command.CommandTimeout プロパティ | (バージョン 2.0、2.1、2.5、2.6)
Command.CommlandTimeout = Seconds
CommandTimeout プロパティは、非同期コマンドの実行時に ADO がエラーを生成するまで待機する時間を秒単位で示します。
データタイプ
Long
説明
CommandTimeout プロパティは、読み取りおよび書き込み可能です。CommandTimeout プロパティを使用すると、ADO がコマンドの実行を待機する時間を指定できます。CommandTimeout プロパティの設定は秒単位で表現され、初期設定値は 30 です。このプロパティを 0 に設定すると、ADO は指定されたコマンドの実行を無期限に待機できます。コマンドがタイムアウトすると、エラーが発生します。 Command オブジェクトの CommandTimeout プロパティは、Connection オブジェクトの CommandTimeout プロパティとは無関係です。
メモ
プロバイダによっては CommandTimeout プロパティをサポートしないものもあります。このプロパティがサポートされているかどうかを調べるには、データプロバイダのマニュアルを確認してください。ADO でアプリケーションを開発する際は、大半のコードを作成して手遅れになる前に、導入予定のデータプロバイダの機能をできる限り確認し、ニーズに合っているかどうかを調べることをお勧めします。
関連項目
Command.Execute メソッド、Connection.CommandTimeout プロパティ

Command.CommandType プロパティ | (バージョン 2.0、2.1、2.5、2.6)
Command.CommandType = CommandTypeEnum
CommandType プロパティは、Command オブジェクトの現在のタイプを示します。
データタイプ
CommandTypeEnum
説明
CommandType プロパティは、使用中の Command オブジェクトのタイプを示します。このプロパティの値は、いずれかの CommandTypeEnum 列挙値に設定できます。Command オブジェクトのソースがストリーム (Command.CommandStream プロパティで設定) の場合、CommandType プロパティは adCmdText または adCmdUnknown のいずれかに設定する必要があります。 また、adExecuteNoRecords の ExecuteOptionEnum 値を adCmdText 定数または adCmdStoredProc 定数と組み合わせると、パフォーマンスを改善できます。この値は、Recordset オブジェクトの Open メソッドと併用できません。 使用している Command オブジェクトのタイプがわかっている場合は、このプロパティを手動で設定して、ADO でのタイプの特定試行によるパフォーマンスの不要な遅延を回避するようにします。このプロパティの設定が間違っている場合、Execute メソッドの呼び出しでエラーが発生します。
関連項目
Command.CommandStream、Command.CommandText プロパティ、CommandTypeEnum 列挙

Command.CreateParameter メソッド | (バージョン 2.0、2.1、2.5、2.6)
Set parameter = command.CreateParameter(Name, Type, Direction, Size, Value)
CreateParameter メソッドは、指定された情報を持つ新しいパラメータを作成して返します。
パラメータ
Name (文字列) オプションです。新しいパラメータに対して指定された名前を保持します。このパラメータは、Parameter.Name プロパティにマップされます。 Type (DataTypeEnum) オプションです。新しいパラメータに対して指定されたデータタイプを示します。このパラメータは、Parameter.Type プロパティにマップされます。初期設定値は adEmpty です。 Direction (ParameterDirectionEnum) オプションです。新しいパラメータに対して指定された方向を示します。このパラメータは、Parameter.Direction プロパティにマップされます。初期設定値は adParamImput です。 Size (Long) オプションです。Type パラメータが可変長のデータタイプである場合に、新たに作成したパラメータの最大長を文字数またはバイト数で指定します。このパラメータは、Parameter.Size プロパティにマップされます。 Value (Variant) オプションです。新たに作成した Parameter オブジェクトの値を初期化します。このパラメータは、Parameter.Value プロパティにマップされます。
戻り値
Parameter オブジェクト
説明
Command オブジェクトの CreateParameter メソッドを使用すると、名前、タイプ、方向、サイズ、値を含む、指定された情報を持つ新しい Parameter オブジェクトを作成できます。このメソッドを使用して新しい Parameter オブジェクトを作成する場合、パラメータは、選択した Command オブジェクトの Parameters コレクションに自動的には追加されません。自動的に追加するには、Command.Parameters プロパティの Append メソッドを使用する必要があります。 可変長のデータタイプを割り当てる場合、Size プロパティを作成する時点、または Size プロパティを Parameters コレクションに追加する前に、このプロパティを設定して、エラーの発生を回避する必要があります。 Type プロパティを adNumeric または adDecimal に設定する場合、Parameter.NumericScale プロパティと Parameter.Precision プロパティは、パラメータのデータタイプを完全に指定するように設定する必要があります。たとえば、NumericScale が 3 であれば、小数点以下が 3 桁であることを示し、Precision が 5 であれば、数値を合計 5 桁で表現することを意味します。
関連項目
DataTypeEnum 列挙、ParameterDirectionEnum 列挙、Parameter.Direction プロパティ、Parameter.Name プロパティ、Parameter.NumericScale プロパティ、Parameter.Precision プロパティ、Parameter.Size プロパティ、Parameter.Type プロパティ、Parameter.Value プロパティ

Command.Dialect プロパティ | (バージョン 2.6)
Command.Dialect = GUID
Dialect プロパティは、CommandText プロパティおよび CommandStream プロパティと共に使用され、Command オブジェクトのソースのデータプロバイダ固有の構文を示します。
データタイプ
String
説明
Dialect プロパティの初期設定値は {C8B521FB-5CF3-11CE-ADE5-00AA0044773D} です。この値は、プロバイダが CommandStream プロパティまたは CommandText プロパティに指定されている Command オブジェクトのソースの解釈方法を特定しようとすることを ADO に示します。
メモ
CommandStream プロパティまたは CommandText プロパティの値に応じて、指定する必要がある Dialect プロパティの有効値を調べるには、データプロバイダのマニュアルを確認する必要があります。
関連項目
Command.CommandStream プロパティ、Command.CommandText プロパティ

Command.Execute メソッド | (バージョン 2.0、2.1、2.5、2.6)
Set recordset = command.Execute(RecordsAffected, Parameters, Options) Set stream = command.Execute(RecordsAffected, Parameters, Options) command.Execute RecordsAffected, Parameters, Options
Execute メソッドは、Command.CommandText プロパティの値で指定された SQL ステートメント、クエリー、またはストアドプロシージャを実行します。
パラメータ
RecordsAffected (Long) オプションです。SQL ステートメント、クエリー、またはストアドプロシージャのアクションの影響を受けたレコード数が、データプロバイダにより挿入されます。結果を返すコマンドでは、このパラメータは挿入されません。 Parameters (Variant 配列) オプションです。SQL ステートメント、クエリー、またはストアドプロシージャに渡される、パラメータの値を保持します。 Options (Long) オプションです。データプロバイダによるコマンドの処理方法を示す CommandTypeEnum 値と ExecuteOptionEnum 値の組み合わせです。初期設定値は -1 です。オプションは設定できません。CommandTypeEnum 値は、Command.CommandType プロバイダで設定することもできます。
戻り値
Recordset オブジェクト Stream オブジェクト なし
説明
Execute メソッドは、データソースに対してストアドプロシージャ、SQL ステートメント、またはクエリーを実行します。実行されるコマンドは、Command.CommandText プロパティの値に依存します。ADO でのこの CommandText の評価方法は、Execute メソッドに対する Options パラメータに依存します。 CommandText 値によって Execute メソッドがデータソースからレコードを返すことになった場合、これらのレコードは、Execute メソッドから Recordset オブジェクトの形式で返されます。Command.Execute メソッドから返される Recordset オブジェクトは、常に読み取り専用の Forward Only カーソルです。 Execute メソッドの Options パラメータに adAsyncExecute、adAsyncFetch、または adAsyncFetchNonBlocking の値が含まれている場合、操作はアプリケーションフローのバックグラウンドで続行されます。これらの操作の続行中に、Command.Cancel メソッドを呼び出すと、保留中のすべての非同期操作をキャンセルできます。
関連項目
Command.Cancel メソッド、Command.CommadText プロパティ、Command.CommandType プロパティ、CommandTypeEnum 列挙、ExecuteOptionEnum 列挙、ExecuteOptionEnum 列挙

Command.Name プロパティ | (バージョン 2.0、2.1、2.5、2.6)
command.Name = Name
Name プロパティは、現在の Command オブジェクトの名前を指定します。
データタイプ
String
説明
Name プロパティは、Command オブジェクトに対して読み取りおよび書き込み可能です。Name プロパティは、関連する Command オブジェクトに名前を割り当てるか、Commands コレクションから Command オブジェクトを取得します。 名前はコレクション内で一意である必要はありません。

Command.NamedParameters プロパティ | (バージョン 2.6)
command.NamedParameters = Boolean
NamedParameters プロパティは、データプロバイダによる Command オブジェクトのパラメータの照合をパラメータ名で行うのか、または出現順で行うのかを示します。
データタイプ
Boolean
説明
NamedParameters プロパティを True に設定すると、現在の Command オブジェクトの各 Parameter オブジェクトの名前プロパティである Parameters コレクションは、パラメータを CommandText プロパティまたは CommandStream プロパティ内の値にマップできるように、データプロバイダに渡されます。 このプロパティを False に設定すると、パラメータは名前ではなく、出現順で照合されます。
関連項目
Command.CommandText プロパティ、Command.CommandStream プロパティ、Parameters コレクション

Command.Parameters コレクション | (バージョン 2.0、2.1、2.5、2.6)
Set parameters = command.Parameters
Parameters コレクションは、指定された Command オブジェクトのパラメータのコレクションを返します。
データタイプ
Parameters (Collection オブジェクト)
適用先
Command オブジェクト
説明
Command オブジェクトの Parameters プロパティは読み取り専用です。このプロパティは、指定されたコマンドのパラメータを表す、0 個または多数の Parameter オブジェクトを保持できる Parameters コレクションオブジェクトへの参照を返します。

Command.Prepared プロパティ | (バージョン 2.0、2.1、2.5、2.6)
command.Prepared = Boolean
Prepared プロパティは、現在の Command オブジェクトで実行前に準備ステートメントを作成するかどうかを示します。
データタイプ
Boolean
説明
Prepared プロパティの値を True に設定すると、Command オブジェクトの CommandText プロパティで定義されたクエリーを最初に実行する前に、クエリーのコンパイルと保存が行われます。それ以降、Execute ステートメントは、コンパイルされたクエリーバージョンを参照して実行します。これにより、Execute への最初の呼び出しは遅くなる可能性がありますが、それ以降の呼び出しには便利です。 Prepared プロパティの値を False に設定すると、クエリーはコンパイルされず、Command オブジェクトから直接実行されます。
メモ
プロバイダによっては Prepared プロパティをサポートしないものもあります。プロバイダの中には、Prepared プロパティを True に設定するとすぐにエラーを発生させるものや、エラーを発生させずに Prepared プロパティの値を False で置き換えるだけのものもあります。

Command.Properties コレクション | (バージョン 2.0、2.1、2.5、2.6)
Set properties = command.Properties
Properties プロパティは、現在使用されているプロバイダの Command オブジェクトに固有の属性を保持する、Properties コレクションクラスを返します。
データタイプ
Properties (Collection オブジェクト)
適用先
Command オブジェクト
説明
Properties コレクションクラスは、データプロバイダの Command オブジェクトに固有の各プロパティに対する、Property クラスのインスタンスを保持します。 Command オブジェクトの ActiveConnection プロパティが、開いている Connection オブジェクトまたは有効な接続文字列の値に設定されるまで、Command オブジェクトの Properties コレクションは追加されません。
関連項目
Command.ActiveConnection プロパティ

Command.State プロパティ | (バージョン 2.0、2.1、2.5、2.6)
state = command.State
Status プロパティは、バッチ更新またはバルク操作を使用時の現在のレコードの状態を判断します。
データタイプ
RecordStatusEnum
説明
Type プロパティは、バッチ更新中に変更されたレコードに対する保留中の変更を確認します。さらに、バルク操作中に失敗したレコードの状態を確認することもできます。たとえば、Delete、Resync、UpdateBatch、CancelBatch などのメソッドの呼び出したときに、または Filter プロパティをブックマークの配列に設定したときにどのような操作が行われるかを確認できます。 Type プロパティは、RecordStatusEnum 列挙の合計を返します。
関連項目
Recordset.CancelBatch、Recordset.Delete メソッド、Recordset.Filter プロパティ、Recordset.Resync メソッド、Recordset.UpdateBatch、RecordStatusEnum 列挙、ObjectStateEnum 列挙