MSSQL y Access

Estoy tratando de hacer un formulario donde se ingresen 2 datos (abonado y periodo) estos 2 parámetros se pasan a un store procedure y de allí sirvan como fuente a un reporte.
¿Cómo hagoe esto?
Si utilizo sentecnias sql no tengo problemas pero sp son otra cosa...
Gracias
Hernán Arteta

1 respuesta

Respuesta
1
Sería algo así:
CREATE PROCEDURE dbo.spGetDatos
@Parametro1 INT,
@Parametro2 INT
AS
Select * from Tabla where campo1 = @Parametro1 and campo2 = @Parametro2
return
Para obtener el dato devuelto:
set rs = cnn.execute ("exec spGetDatos x, y)
La parte del store procedure la tengo clara (crearlos y como funciona)
Lo que no se es como hacer que en base a los datos ingresados por el formulario (2 parámetros), ejecutar el sp y sirvan de source para un reporte agrego el código con tu sugerencia el problema es que me genera un error, gracias por la ayuda.
-----------------------------------
Private Sub Command0_Click()
Set rs = cnn.Execute("exec sp_facturacionabonado", Abonado, Periodo)
DoCmd.OpenReport "facturacion", acViewDesign
With Reports("facturacion")
.RecordSource = rs
End With
DoCmd.OpenReport "facturacion", acViewPreview
End Sub
Casi lo tenías, solo tienes que cambiar las comillas de sitio:
Set rs = cnn.Execute("exec sp_facturacionabonado Abonado, Periodo")
Suponiendo que la conexión está establecida y que el procedimiento almacenado tiene dos parámetros.
Disculpa con insistir en este tema pero lo único que consigo es que me arroje un run-time error (-2147217900 (80040e14))
line 1: incorrect syntax near','
Y en el debug sale subrayado en amarillo la linea que indica Set rs = ...
Te adjunto mi código por allí debo tener algo mal (es todo el código en la vista del debug)
Gracias
Private Sub Command0_Click()
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
Set rs = cnn.Execute("exec sp_facturacionabonado, abonado, periodo")
DoCmd.OpenReport "facturacion", acViewDesign
With Reports("facturacion")
.RecordSource = rs
End With
DoCmd.OpenReport "facturacion", acViewPreview
End Sub
Perdón, te sobraba también una coma:
Set rs = cnn.Execute("exec sp_facturacionabonado abonado, periodo")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas