名前付きコマンド
「簡単なコマンドの作成と実行」では、コマンドを実行する 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