• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数レコードを1変数にセットするには)

ストプロで複数のレコードを1つの変数にセットする方法

このQ&Aのポイント
  • AccessVBAでは、カーソルに格納したレコードを1つの変数にセットする方法は、ループを使用してレコードを連結します。
  • しかし、SQLのストプロでは、単一のレコードしか渡すことができません。
  • よって、複数のレコードを1つの変数にセットする方法を見つける必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

VB(VBA)で   Do Until rs.EOF     strBody = strBody & rs!受注コード & ":" & rs!明細コード & vbCrLf     rs.MoveNext   Loop ができているのですから、そこから類推しましょう。   declare @x varchar(10)   select @x = 'a'   select @x   select @x = @x + 'b'   select @x   select @x = @x + 'c'   select @x を実行すると   a   ab   abc が返ります。ヒントになったでしょうか。

komakusa
質問者

補足

-------------------------- WHILE @@FETCH_STATUS = 0 BEGIN  select @strBody = @strBody + (@受注コード + @明細コード) + char(13) + char(10) select @strBody  FETCH NEXT FROM cur_cust  INTO @受注コード, @明細コード end -------------------------- としても、@strBody は空白(Null?)で返ってきて、格闘をして、また逆質問かな~と、思っていたところ、ふとWHILE @@FETCH_STATUS = 0  が デフォルトに何か入っていなければならないのか? と思い、「WHILE @@FETCH_STATUS = 0」の前に、[@strBody = 1] を追加したところ、上手く行きました。

その他の回答 (1)

回答No.2

ストプロで、カーソルに格納したレコードを、1変数にセットしたく思います。 収め方はいろいろあります。 ・テンプテーブルを作成 ・カーソルのまま処理 ・配列にセット この後の処理で何がしたいかがわかれば、おのずと最適な格納方法がわかるのですが、、、

komakusa
質問者

お礼

ご回答を寄せて頂き、ありがとうございました。