Date: Mon, 21 Feb 2005 12:07:35 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: Michio Taniguchi [mailto:who@example.co.jp]
Sent: Saturday, February 19, 2005 2:09 PM
To: who@example.ne.jp
Subject: [ml-msde-beg:01455] Re: ストアドを直接実行した時
>フォームからのコントロールソースの指定は無く、ストアドを
>直接実行した場合です。
>例えば、下記のストアド usp_sp1 をダブルクリックし実行すると、
>(略)
> If @Mode = 1
> Begin
> Select 'AAA' as 列11,'BBB' as 列12,'CCC' as 列13
> End
> If @Mode = 2
> Begin
> Select 'DDD' as 列21,'EEE' as 列22,'FFF' as 列23
> End
> return
>----------
>@Mode = 1の時、
> 列11 列12 列13
> AAA BBB CCC
>になりますが
>@Mode = 2の時、
> 列11 列12 列13
> -> 空白の1行
>になってしまいます。
上記の件は、フォームデザイン時におけるフィールドリストの取得と同様に、
ストアドプロシージャを実行する前に、どのような列名が返されるか調査
しているからです。
フォームデザイン時のフィールドリストでも、最初のSELECT文で返される
列名リストが画面に表示されます。
結局のところ、Accessの中で使われるストアドプロシージャでは、複数の
SELECT文を使ったり、異なる列名リストを返したりするような操作は、
想定外の動作だと言えるのでしょう。
ストアドプロシージャの文法は間違っていなくても、クライアントの
アプリケーションにAccessを使う場合は、Accessが許容している
範囲内の仕様?で、サーバー側のストアドを記述する必要があると
思います。
------------------------------------
(株)日本技術ソフト開発
堀川 明 (Akira Horikawa)
02月21日(月曜日) 12時07分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|