Ik wil graag een stored procedure op een sql server willen aanroepen vanuit excel/vba met ADO.
Dat lukt prima als er maar geen parameters aan de SP moeten worden doorgegeven:
ik heb nu het volgende:
[code=vb]
Dim con as ADODB.Connection
Dim cmd as ADODB.Command
Dim rs as ADODB.Recordset
Set con = New ADODB.Connection
con.Open "Provider=SQLOLEDB;Data Source=" & Datasource & ";" & _
"Initial Catalog=Northwind" & " ;User ID=" & UserName & " ;Password=" & Password
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = con
With cmd
.CommandType = adCmdText
.CommandText = "EXEC dbo.[SP zonder params]"
End With
Set rs = cmd.Execute
[/code=vb]
ik wil echter een SP met parameters aanroepen (als voorbeeld de sales by year SP in Northwind)
Lijn 13 wordt dan (dacht ik)
[code=vb]
.CommandText = "EXEC dbo.[Sales by Year]" & " " & Param1 & " " & Param2
[/code=vb]
Maar dat werkt dus niet. Ik heb me inmiddels suf gezocht naar hoe het wel moet, maar zonder succes. Iemand een idee?
Dat lukt prima als er maar geen parameters aan de SP moeten worden doorgegeven:
ik heb nu het volgende:
[code=vb]
Dim con as ADODB.Connection
Dim cmd as ADODB.Command
Dim rs as ADODB.Recordset
Set con = New ADODB.Connection
con.Open "Provider=SQLOLEDB;Data Source=" & Datasource & ";" & _
"Initial Catalog=Northwind" & " ;User ID=" & UserName & " ;Password=" & Password
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = con
With cmd
.CommandType = adCmdText
.CommandText = "EXEC dbo.[SP zonder params]"
End With
Set rs = cmd.Execute
[/code=vb]
ik wil echter een SP met parameters aanroepen (als voorbeeld de sales by year SP in Northwind)
Lijn 13 wordt dan (dacht ik)
[code=vb]
.CommandText = "EXEC dbo.[Sales by Year]" & " " & Param1 & " " & Param2
[/code=vb]
Maar dat werkt dus niet. Ik heb me inmiddels suf gezocht naar hoe het wel moet, maar zonder succes. Iemand een idee?