今日初めて知りました。
今まで、SQL Server Management Studio で SQL を実行してそれを Excel に貼り付けたり、Access から Excel にエクスポートしたりしてたのが、
Excel だけで実現出来るのでちょっと感動!!
事前に準備する事
DBに対して ODBC 経由で接続出来ること。(今回は、SQL Server 2008 で試しています)
実行手順 ※2003 と 2007 で多少違うかもしれません。一応 2007 で試してます
1. Excel のメニュー -> データ -> 外部データの取り込み -> その他のデータソース -> Microsoft Query を選択します。
2. 接続する ODBC データソースを選択します。
3. とりあえず何も選択せずに閉じます。
4. Microsoft Query の メニュー -> ファイル -> SQL の実行 を選択します。
5. SQL を記述し、実行を押します。
6. 実行結果が表示されます。
7. Microsoft Query の メニュー -> ファイル -> Microsoft Office Excel にデータを返す を選択します。
8. インポート先を選択します。
9. 出来あがり!
ストアドの場合は、5. SQL を記述する箇所でストアドを呼び出します。
例:
use [Test] Exec [得意先受注金額プロシージャ]パラメータ有りのストアドも呼び出せます。
use [Test] Exec [当月受注検索プロシージャ] @受注年 = 2009, @受注月 = 10
当然 Excel なので、この後加工も自由に出来ます。(このデータからピボットテーブルでさらにデータを抽出したり…)
C/S 系のシステムで、外部に出さない帳票なんかは、これでもいいんじゃない?って思ってしまった。。
※多分、ORACLE とかでも出来るんじゃないかと思います。
Query を使って外部データを取り出す方法について