Llamar a un procedimiento almacenado de SQL server

20/05/2004 - 15:37 por Rubén | Informe spam
Hola a todos,

necesito llamar a un procedimiento almacenado de sql server desde excel y
pasarle parámetros. Sólo he conseguido realizar la llamada sin pasarle
ningún parámetro, el código es:

With
oHojaInforme.QueryTables.Add("OLEDB;Provider=SQLOLEDB.1;Password=adarra;Pers
ist Security Info=True;User ID=iproduccion;Initial Catalog=satool_urpe;Data
Source­ARRA", oHojaInforme.Range("A2"))
.CommandType = xlCmdSql
.CommandText = "ProcExcel"
'.Parameters.Add 1, xlParamTypeVarChar
'.Parameters(1).SetParam xlConstant, "aaaa"
.Name = "Gastos acumulados"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With


Un saludo.
 

Leer las respuestas

#1 JoseLuisArg
20/05/2004 - 20:19 | Informe spam
Creo que el cód que pusiste lo hiciste grabando macros y no funciona, ya
que el query "ProcExcel" no es válido.

De la manera en que lo planteás una forma puede ser pasar toda la query en
commandtext "exec Proc Excel '1'"
hay pasarías el parámetro 1

Array("Exec ProcExcel '" & Range("A1").value & "')"

algo así te quedaría, lo probé y funcionó

Igual te conviene usar ado, creo que es mucho más rico y te permite hacer
muchas cosas más

Saludos

"Rubén" escribió en el mensaje
news:e0XsY#
Hola a todos,

necesito llamar a un procedimiento almacenado de sql server desde excel y
pasarle parámetros. Sólo he conseguido realizar la llamada sin pasarle
ningún parámetro, el código es:

With



oHojaInforme.QueryTables.Add("OLEDB;Provider=SQLOLEDB.1;Password=adarra;Pers
ist Security Info=True;User ID=iproduccion;Initial


Catalog=satool_urpe;Data
Source­ARRA", oHojaInforme.Range("A2"))
.CommandType = xlCmdSql
.CommandText = "ProcExcel"
'.Parameters.Add 1, xlParamTypeVarChar
'.Parameters(1).SetParam xlConstant, "aaaa"
.Name = "Gastos acumulados"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With


Un saludo.


Preguntas similares