Forums Últimos mensajes - Powered by IBM
 

Procedimientos Almacenados

12/05/2010 - 01:01 por José [Py] | Informe spam
saludos!
Cual es la mejor forma de ejecutar un procedimiento almacenado en SQL server
desde Access 2007?
Tendría que pasarle parámetros al procedimiento y este inserta o actualiza
el registro.
Gracias!
 

Leer las respuestas

#1 José Mª Fueyo
12/05/2010 - 09:54 | Informe spam
Hola
La mejor forma es a través de ADO. Declara un objeto connection, y
objeto command, sus correspondientes parámetros, abre la conexión,
ejecuta y ciérrala.
Un ejemplo:

<pego>
dIM cnn As ADODB.Connection, cmd As ADODB.Command

Set cnn = New ADODB.Connection
With cnn
.CursorLocation = adUseClient
.ConnectionString = "MiCadenadeConexion"
End With

Set cmd = New ADODB.Command
cnn.Open
With cmd
.ActiveConnection = cnn
.CommandType = adCmdStoredProc
.CommandText = "SP_Insert_Configuracion" ' El nombre del
procedimiento almacenado
.Prepared = True
End With
'Configuro parámetros. Tipo, tamaño (varchar) y dirección)
cmd.Parameters.Append cmd.CreateParameter("@IdUsuarioVista",
adInteger, adParamInput, , lID)
cmd.Parameters.Append cmd.CreateParameter("@CodUsuario",
adVarChar, adParamInput, 100, txtCodUsuario.Value)
cmd.Parameters.Append cmd.CreateParameter("@Servidor", adVarChar,
adParamInput, 100, txtServidor.Value)
cmd.Parameters.Append cmd.CreateParameter("@BBDD", adVarChar,
adParamInput, 100, txtBBDD.Value)
cmd.Parameters.Append cmd.CreateParameter("@Propietario",
adVarChar, adParamInput, 100, txtPropietario.Value)
cmd.Parameters.Append cmd.CreateParameter("@Objeto", adVarChar,
adParamInput, 100, txtObjeto.Value)
cmd.Parameters.Append cmd.CreateParameter("@Script", adVarChar,
adParamInput, 4000, Me.txtScript.Value)
cmd.Parameters.Append cmd.CreateParameter("@Tipo", adVarChar,
adParamInput, 1, Me.cbxTipo)
cmd.Parameters.Append cmd.CreateParameter("@TipoAMostrar",
adVarChar, adParamInput, 100, txtTipoAMostrar.Value)
cmd.Parameters.Append cmd.CreateParameter("@NombreAMostrar",
adVarChar, adParamInput, 100, txtNombreAMostrar.Value)
cmd.Parameters.Append cmd.CreateParameter("@Editable", adVarChar,
adParamInput, 1, cbxEditable)
cmd.Parameters.Append cmd.CreateParameter("@Activado", adVarChar,
adParamInput, 1, cbxActivado)
cmd.Parameters.Append cmd.CreateParameter("@NumRegPagina",
adInteger, adParamInput, , txtNumRegPagina.Value)
cmd.Parameters.Append cmd.CreateParameter("@TiempoRefresco",
adInteger, adParamInput, , txtTiempoRefresco.Value)

'Ejecuto sp
cmd.Execute
Set cmd = Nothing
cnn.Close
Set cnn = Nothing
</pego>

Salu2
José Mª Fueyo
[MS MVP Access]

Preguntas similares