web-dev-qa-db-ja.com

ワークブックのパラメーターフィールドを持つSQL ServerストアドプロシージャのExcelのテーブル

Excel 2010とSQL Serverを使用して動的レポートを作成する必要があります。他の人が作成した以前のものから離れて、データ接続を作成し、接続プロパティ定義タブで特定のパラメーターを使用してストアドプロシージャを使用する方法を理解しました。他のレポートでは?コマンド定義で使用し、ワークブックのセルを使用してパラメーターを定義します。

どうすればよいですか?

接続/レポート/パラメータの選択を作成するための具体的な手順、または高く評価されているヘルプ。

13
d456

次のリンクされたブログ投稿で提供されている手順を使用して動作させました。

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

将来リンクが壊れた場合に備えて、ここにコピーされたステップ。

Excel 2007の手順:

  1. Excelのリボンの[データ]タブを選択し、[Exernalデータの取得]グループで[他のソースから]ドロップダウンを選択します。次に、「Microsoft Queryから」を選択します

  2. [データソースの選択]ポップアップボックスでSQL Serverを選択し、[OK]をクリックします。

  3. 必要に応じて、「テーブルの追加」ポップアップを閉じます。

  4. [SQL]ボタンをクリックするか、[表示]> [SQL]を選択してSQLポップアップエディタを開きます。

  5. 次の構文を入力します。{CALL myDatabaseName.dbo.myStoredProc(?、?、?)}

    例:{CALL northwind.dbo.spGetMaxCost(?、?、?)}

    呼び出しステートメントの前後に波線を挿入してください。各疑問符(?)はパラメーターを示します。ストアドプロシージャが多かれ少なかれパラメータを呼び出す場合は、必要に応じて疑問符を追加または削除します。

  6. OKボタンを押してください。 「SQLクエリはグラフィカルに表現できません。続行しますか?」という質問ボックスがポップアップします。OKボタンをクリックするだけです。

  7. 上記で含めた各疑問符のサンプルパラメータを尋ねられます。クエリするデータの有効なパラメーター値を入力します。

  8. 最後のパラメーターを入力すると、Microsoft Queryで結果が返されるはずです。問題がなければ、Microsoft Queryを閉じます。

  9. 「データのインポート」ポップアップが表示されているはずです。 [プロパティ]ボタンをクリックすると、[接続プロパティ]ポップアップが表示されます。

  10. 「定義」タブを選択してから、「パラメータ」ボタンを選択します。これで、「パラメーター」ポップアップが表示され、パラメーターを特定のセルに接続できます。

  11. 次のセルから値を取得するを選択し、矢印の付いた小さなボックスをクリックして、パラメーターを保持するExcelの適切なセルに接続します。

  12. パラメータを含むセルを変更するたびにデータを更新する場合は、[セルの値が変更されたときに自動的に更新する]チェックボックスをオンにします

  13. 他のパラメータについても上記のように続けます。完了したら、[OK]をクリックして、[接続プロパティ]ポップアップに戻ります。 [OK]をクリックして[データのインポート]ポップアップに戻り、もう一度[OK]をクリックします。

  14. これで、ストアード・プロシージャーからのデータがいくつかあるはずです。

27
d456