これは本当に簡単ですが、実際の簡潔な答えはまだ見つかりませんでした。私は整数値を返す非常に単純なストアドプロシージャをSQL Serverに持っています。私がしたいのは、その戻り値をAccessで使用する変数に代入することだけです。VBA変数にストアドプロシージャの戻り値を割り当てます
ストアドプロシージャ:
ALTER PROCEDURE [dbo].[out_GetNextID]
@NextSumID integer
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @NextSumID = IDENT_CURRENT('Outage Summary')+IDENT_INCR('Outage Summary')
RETURN @NextSumID
END
私は、ストアドプロシージャを実行するためにADODBを使用しています、と私はこれを尋ねるために持つためにダムを感じるが、私はcmd.Executeを実行した後にどのように私はAccessでの戻り値にアクセスします?おかげさまで、ごめんなさい。
ありがとうございました。私は 'RETURN @ NextSumID'を削除し、' RETURN'を使用することに決めました。なぜなら、欠落していたキーパーツは 'NextID = cmd.Parameters(" @ NextSumID ")'で変数を代入するだけだったからです。なぜ私がそれを理解することがとても難しいのか分かりません。 – philthyfool
私の答えにも情報を照合するのにはしばらく時間がかかりました;) –
ストアドプロシージャの出力変数の基本的な使い方のどこかに、より良い文書/例があるはずです。レコードセットやその他のものを更新している状況を簡単に見つけることは簡単ですが、単純な使用状況はそれほどありません。これが私と同じような苦境で他の誰かを助けてくれることを願っています。 – philthyfool