• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:命令を変数に応じて変化させるには?)

命令を変数に応じて変化させるには?

このQ&Aのポイント
  • テーブル1のデータフィールドに格納されているデータを変数に格納したいが、ループの終端まで同じ値しか格納できない。
  • 変数に応じた命令を一つ一つ書くのではなく、Countの値に応じて命令を変化させたい。
  • VBでの対処方法についてのご指導をお願いします。

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

  • ベストアンサー
  • itohh
  • ベストアンサー率45% (210/459)
回答No.1

こんにちは。itohhといいます。 配列にするのではいけないのでしょうか? Dim Data(10) As String Count = 0 Do Until RS.EOF  DATA(Count) = RS!データ  RS.MoveNext  Count = Count + 1 Loop 配列がダメなときは。 Count = 1 Do Until RS.EOF  Select Case Count  Case 1   DATA01 = RS!データ  Case 2   DATA02 = RS!データ   :   :   :  End Select  RS.MoveNext  Count = Count + 1 Loop では、如何でしょうか?

neo_gigantes
質問者

お礼

すばやいご回答ありがとうございます!!! 配列を使った方法があるとは知りませんでした! あの、ついでにお聞きしてよろしいでしょうか? 例としてあげましたのは、変数に読みこむフィールドを「データ」に固定し、レコードを順々に変えていましたが、今度はレコードは固定で、フィールドを変化させたいのです データ1、データ2、データ3と複数フィールドがあったとして、それを変数に順々に入れていきたいのです。それをCaseなどを使わないで変化させるにはどうすれば良いのでしょうか? ソースまで例示して頂かなくても、ヒントとなるキーワードを教えて頂ければどうにかなるかもしれません。 よろしくお願いします。m(_ _)m

その他の回答 (2)

  • itohh
  • ベストアンサー率45% (210/459)
回答No.3

こんにちは。itohhといいます。 う~ん、たぶん出来ないと思います。 今まで、そういう特殊なことは、VBでやったことがないですねぇ。 お力になれず、申し訳ありません。

neo_gigantes
質問者

お礼

いえ。大変助かりました。今までのどにつっかかっていたものはとれたような爽快感です。なお、アドバイスにしたがって試してみたところ、望んでいたことができました。 本当にありがとうございました。

  • itohh
  • ベストアンサー率45% (210/459)
回答No.2

こんにちは。itohhといいます。 select データ1, データ2, データ3 from テーブル1 という形でデータ検索した場合、 RS!データ1 RS!データ2 RS!データ3 と使用することが多いと思いますが、 RS.Fields(0)  <--データ1という意味 RS.Fields(1) RS.Fields(2) としても参照できます。 ですから、0~2のインデックスのところをCountにして見てください。 詳しいことは、MSDNライブラリの「ADO APIリファレンス」「Field オブジェクト」 を参照してください。

neo_gigantes
質問者

補足

ありがとうございます!まだ試していませんが、おそらく上手く行くと思います。本当にありがとうございます。 ところで、本当に度々申し訳ないのですが、 私が以前覚えた他の言語では 通常  MsgBox(DATA) ・・・と書くところを、 COMMAND "Msg" & "Box(DATA)" としても同じ動作をするというような便利な関数がありました。(上記はあくまで例でCOMMANDは架空の関数です) VBにはそういった関数(上記の例でいうとCOMMAND)はないのでしょうか? あるか、ないか、それだけでも結構です。 質問はこれで最後にしますので よろしくお願いしますm(_ _)m

関連するQ&A