次の方法で共有


名前付きコマンド

簡単なコマンドの作成と実行」では、コマンドを実行する 1 つの方法が示されています。 別の方法があります。それを名前付きコマンドにしてから、この名前付きコマンド を (Command オブジェクトの ActiveConnection プロパティに割り当てられた) Connection オブジェクトで直接呼び出すことができます。 コマンドの名前付けとは、Command オブジェクトの Name プロパティに名前を割り当てることを意味します。 たとえば、次のように入力します。

objCmd.Name = "GetCustomers"  
objCmd.ActiveConnection = objConn  
objConn.GetCustomers objRs  

名前付きコマンドは、Connection オブジェクトで "カスタム メソッド" のように動作します。 コマンドの結果は、この "カスタム メソッド" の出力パラメーターとして返されます。

この機能を説明する例を次に示します。

'BeginNamedCmd  
    On Error GoTo ErrHandler:  
  
    Dim objConn As New ADODB.Connection  
    Dim objCmd As New ADODB.Command  
    Dim objRs As New ADODB.Recordset  
  
    ' Connect to the data source.  
    Set objConn = GetNewConnection  
  
    objCmd.CommandText = "SELECT CustomerID, CompanyName FROM Customers"  
    objCmd.CommandType = adCmdText  
  
    'Name the command.  
    objCmd.Name = "GetCustomers"  
  
    objCmd.ActiveConnection = objConn  
  
    ' Execute using Command.Name from the Connection.  
    objConn.GetCustomers objRs  
  
    ' Display.  
    Do While Not objRs.EOF  
        Debug.Print objRs(0) & vbTab & objRs(1)  
        objRs.MoveNext  
    Loop  
  
    'clean up  
    objRs.Close  
    objConn.Close  
    Set objRs = Nothing  
    Set objConn = Nothing  
    Set objCmd = Nothing  
    Exit Sub  
  
ErrHandler:  
    'clean up  
    If objRs.State = adStateOpen Then  
        objRs.Close  
    End If  
  
    If objConn.State = adStateOpen Then  
        objConn.Close  
    End If  
  
    Set objRs = Nothing  
    Set objConn = Nothing  
    Set objCmd = Nothing  
  
    If Err <> 0 Then  
        MsgBox Err.Source & "-->" & Err.Description, , "Error"  
    End If  
'EndNamedCmd  

参照

Connection オブジェクト (ADO)