The following code demonstrates how to use a Command object and the Procedures collection Append method to create a new procedure in the underlying data source.
' BeginCreateProcedureVB
Sub Main()
On Error GoTo CreateProcedureError
Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim prm As ADODB.Parameter
Dim cat As New ADOX.Catalog
' Open the Connection
cnn.Open _
"Provider='Microsoft.Jet.OLEDB.4.0';" & _
"Data Source='c:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.mdb';"
' Create the parameterized command (Microsoft Jet specific)
Set cmd.ActiveConnection = cnn
cmd.CommandText = "PARAMETERS [CustId] Text;" & _
"Select * From Customers Where CustomerId = [CustId]"
' Open the Catalog
Set cat.ActiveConnection = cnn
' Create the new Procedure
cat.Procedures.Append "CustomerById", cmd
'Clean
cnn.Close
Set cat = Nothing
Set cmd = Nothing
Set cnn = Nothing
Exit Sub
CreateProcedureError:
Set cat = Nothing
Set cmd = Nothing
If Not cnn Is Nothing Then
If cnn.State = adStateOpen Then cnn.Close
End If
Set cnn = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
' EndCreateProcedureVB