2012-10-02 33 views
12

Necesito crear un informe dinámico usando Excel 2010 y SQL Server. Saliendo de los anteriores creados por otros, descubrí cómo crear la conexión de datos y utilizar el procedimiento almacenado con un parámetro específico en la pestaña de definición de propiedades de conexión. Los otros informes usan un ? en la definición del comando y usan una celda en el libro para definir el parámetro.Tabla en Excel desde SQL Server procedimiento almacenado con campo de parámetro en el libro de trabajo

¿Cómo hago eso también?

Pasos específicos para crear la conexión/informe/selección de parámetros o cualquier ayuda apreciada.

Respuesta

22

Lo tengo que trabajar siguiendo los pasos que se proporcionan en la siguiente publicación de blog vinculada.

http://codebyjoshua.blogspot.com/2012/01/get-data-from-sql-server-stored.html

Pasos copiados aquí en link se rompe caso en el futuro.

Excel 2007 Instrucciones:

  1. seleccione la ficha de datos en la cinta de Excel, a continuación, en el grupo Obtener datos exernal eligen el "de otras fuentes" desplegable. A continuación, elija "De Microsoft Query"

  2. En el cuadro emergente "Elegir origen de datos", seleccione su SQL Server, luego presione OK.

  3. Cierre la ventana emergente "Agregar tablas" si es necesario.

  4. Haga clic en el botón "SQL", o elija Ver> SQL para abrir el editor emergente de SQL.

  5. Introduzca la siguiente sintaxis: {(?,?,?) MyDatabaseName.dbo.myStoredProc LLAMADA}

    Por ejemplo: {call northwind.dbo.spGetMaxCost (?,?,?)}

    Asegúrese de incluir las llaves onduladas alrededor de la declaración de llamada. Cada signo de interrogación (?) Indica un parámetro. Si su procedimiento almacenado requiere más o menos parámetros, agregue o reste signos de interrogación según sea necesario.

  6. Pulse el botón Aceptar. Debería aparecer un cuadro de pregunta que dice "SQL Query no se puede representar gráficamente, ¿continuar de todos modos?", Solo presiona el botón OK.

  7. Ahora se le solicitarán parámetros de muestra para cada signo de interrogación que haya incluido anteriormente. Ingrese valores de parámetros válidos para los datos que está consultando.

  8. Una vez que haya ingresado el último parámetro, debería obtener algunos resultados en Microsoft Query. Si se ven bien, cierre Microsoft Query.

  9. Ahora debería estar mirando una ventana emergente de "Importar datos". Haga clic en el botón Propiedades, que abrirá la ventana emergente "Propiedades de la conexión".

  10. Seleccione la pestaña Definición, luego seleccione el botón Parámetros. Ahora debería ver una ventana emergente "Parámetros", donde puede conectar el parámetro a una celda específica.

  11. Seleccionar Obtenga el valor de la siguiente celda, y luego conéctese a una celda apropiada en Excel que contendrá su parámetro, haciendo clic en la pequeña casilla con la flecha.

  12. Si desea que los datos se actualizan cada vez que cambie la celda que contiene el parámetro, marque la casilla que indica "Actualizar automáticamente cuando cambia el valor de la celda"

  13. proceda como en los de los otros parámetros. Cuando termine, haga clic en Aceptar, para regresar a la ventana emergente Propiedades de la conexión. Haga clic en Aceptar para volver a la ventana emergente Importar datos y vuelva a hacer clic en Aceptar.

  14. Ahora debería tener algunos datos directamente de su procedimiento almacenado.

+1

Great stuff! Funcionó perfectamente :) – DavidC799

+0

Las únicas opciones que se muestran en el paso 2 "Seleccione su servidor SQL" son "Nuevo origen de datos", "Archivos dBASE", "Archivos Excel" y "Base de datos MS Access". Realmente me pregunto cómo ustedes lo hicieron funcionar ... – RickNo

+0

No he tenido que usar esto en 3 años. Solo lo tuve funcionando en Excel 2007. ¿Estás usando una versión más nueva de Excel? – d456

Cuestiones relacionadas