@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

エクセルからストアドプロシージャの起動方法

1
投稿者投稿内容
reo
常連さん
会議室デビュー日: 2004/10/05
投稿数: 43
投稿日時: 2006-11-29 10:11
環境:Excel2003、SQLServer2000
エクセル上からストアド(引数あり)を起動し、結果をエクセル上に表示するにはどうすればよろしいでしょうか?
皆様よろしくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-11-29 10:15
引用:

reoさんの書き込み (2006-11-29 10:11) より:

エクセル上からストアド(引数あり)を起動し、結果をエクセル上に表示するにはどうすればよろしいでしょうか?


"エクセル上" は、'Excel Workbook のとある WorkSheet に' と解釈するとして、
ストアド プロシージャから直接、Workbook へ転記したいと考えているのでしょうか?

私ならば、そのような面倒なことはしないで、通常の SQL クエリを実行します。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
reo
常連さん
会議室デビュー日: 2004/10/05
投稿数: 43
投稿日時: 2006-11-29 10:27
じゃんぬねっと様

ありがとうございます。
実はあるDBに、各業務システムで共用で使用しているストアドがあります。
これを、Excelのあるブックの、あるシートの、あるカラムに、その結果セットを表示したいのです。
クエリを直書きしまうと、変更の度にメンテが必要な状態になります。
可能でしょうか?
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-11-29 10:43
reoさん、お早うございます。

出来ますよ。
クエリの編集画面(Microsoft Query)で、コマンドメニューの「表示(V)」-「SQL(S)」をクリックして、直接ストアドの呼出コマンドを書き込みます。

SQL Server の場合の例↓
exec dbo.FUNCTION_NAME @PARAM = 123

ここで OK すると「SQLクエリを再表示できません」とか警告されますが、構わず OK すれば結果が取得できます。

【追記】
一応、誤解のないように書き換え↓
exec dbo.PROCEDURE_NAME @PARAM = 123


[ メッセージ編集済み 編集者: きくちゃん 編集日時 2006-11-29 10:47 ]
1

スキルアップ/キャリアアップ(JOB@IT)