2012-10-02 3 views
12

Devo creare un report dinamico utilizzando Excel 2010 e SQL Server. Uscendo da quelli precedenti creati da altri, ho capito come creare la connessione dati e utilizzare la stored procedure con un parametro specifico nella scheda di definizione delle proprietà di connessione. Gli altri report utilizzano uno ? nella definizione del comando e utilizzano una cella nella cartella di lavoro per definire il parametro.Tabella in Excel da stored procedure SQL Server con campo parametro nella cartella di lavoro

Come faccio anche io?

Passaggi specifici per creare la connessione/report/selezione parametri o qualsiasi aiuto molto apprezzato.

risposta

22

Ho ottenuto il lavoro utilizzando i passaggi forniti al seguente post del blog collegato.

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

passaggi copiati qui a pause caso di collegamento in futuro.

Excel 2007 Istruzioni:

  1. Selezionare la scheda Dati sulla barra multifunzione di Excel, quindi all'interno del gruppo Get exernal dati scegliere il "da altre fonti" discesa. Quindi scegliere "Da Microsoft Query"

  2. All'interno della finestra a comparsa "Scegli origine dati", selezionare il server SQL, quindi premere OK.

  3. Chiudere il popup "Aggiungi tabelle" se necessario.

  4. Fare clic sul pulsante "SQL" o selezionare Visualizza> SQL per aprire l'editor a comparsa SQL.

  5. Inserire la seguente sintassi: {(???,,) CALL myDatabaseName.dbo.myStoredProc}

    Ad esempio: {CALL northwind.dbo.spGetMaxCost (?,?,?)}

    Assicurarsi di includere le parentesi graffe attorno all'istruzione della chiamata. Ogni punto interrogativo (?) Indica un parametro. Se la procedura memorizzata richiede più o meno parametri, aggiungere o sottrarre punti interrogativi secondo necessità.

  6. Premere il pulsante OK. Dovrebbe apparire una finestra di dialogo che dice "SQL Query non può essere rappresentato graficamente, continua comunque?", Basta premere il tasto OK.

  7. Ti verranno chiesti i parametri di esempio per ciascun punto interrogativo che hai incluso sopra. Immettere valori di parametro validi per i dati che si stanno interrogando.

  8. Dopo aver immesso l'ultimo parametro, è necessario ottenere alcuni risultati in Microsoft Query. Se hanno un bell'aspetto, chiudi Microsoft Query.

  9. Si dovrebbe ora guardare un pop-up "Importa dati". Fare clic sul pulsante Proprietà, che farà apparire il pop-up "Proprietà di connessione".

  10. Selezionare la scheda Definizione, quindi selezionare il pulsante Parametri. Ora dovresti vedere un pop-up "Parametri", dove puoi collegare il parametro a una cella specifica.

  11. Selezionare Ottieni il valore dalla cella seguente, quindi connettersi a una cella appropriata in Excel che manterrà il parametro, facendo clic sulla piccola casella con la freccia.

  12. Se si desidera che i dati vengano aggiornati ogni volta che si cambia la cella contenente il parametro, selezionare la casella che indica "Aggiorna automaticamente quando cambia il valore delle cellule"

  13. proseguire come sopra per gli altri parametri. Al termine, fare clic su OK per tornare al menu Proprietà connessione. Fare clic su OK per tornare al menu Importa dati e fare nuovamente clic su OK.

  14. Ora dovresti avere alcuni dati direttamente dalla procedura memorizzata.

+1

Grandi cose! Funzionava perfettamente :) – DavidC799

+0

Le uniche scelte mostrate nel passaggio 2 "Seleziona il tuo server SQL" sono "Nuova origine dati", "File dBASE", "File Excel" e "Database MS Access". Mi chiedo davvero come avete fatto a farlo funzionare ... – RickNo

+0

Non ho dovuto usare questo in 3 anni. Ho solo funzionato in Excel 2007. Stai utilizzando una versione più recente di Excel? – d456