- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数レコードを1変数にセットするには)
ストプロで複数のレコードを1つの変数にセットする方法
このQ&Aのポイント
- AccessVBAでは、カーソルに格納したレコードを1つの変数にセットする方法は、ループを使用してレコードを連結します。
- しかし、SQLのストプロでは、単一のレコードしか渡すことができません。
- よって、複数のレコードを1つの変数にセットする方法を見つける必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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 が返ります。ヒントになったでしょうか。
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
回答No.2
ストプロで、カーソルに格納したレコードを、1変数にセットしたく思います。 収め方はいろいろあります。 ・テンプテーブルを作成 ・カーソルのまま処理 ・配列にセット この後の処理で何がしたいかがわかれば、おのずと最適な格納方法がわかるのですが、、、
質問者
お礼
ご回答を寄せて頂き、ありがとうございました。
補足
-------------------------- 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] を追加したところ、上手く行きました。