• ベストアンサー

ACCESSでループ処理したいのですが・・・。

ACCESSでテーブルのデータを最初から最後まで順番に読み書きすることは出来ないでしょうか? ヘルプを見るとfor~next とか Loopなどを使うと書いてありますがよくわかりません。よろしくお願いします。

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

  • ベストアンサー
  • sanbit
  • ベストアンサー率32% (16/50)
回答No.1

テーブルの始めのデータから終わりまで フィールドのデータを表示メッセージボックスに表示する例です。 Dim db As Database Dim Rs0 As Recordset ’仮にレコードセットをRs0としました。 Set db = CurrentDb()   Set Rs0 = db.OpenRecordset("テーブル名", dbOpenTable) Rs0.MoveFirst Do Until Rs0.EOF Rs0.Edit  MsgBox Rs0![フィールド名]    'ここは色々の処理を書いてください。    'ここは色々の処理を書いてください。 Rs0.MoveNext Loop  Rs0.Close  とりあえず、単純な例です。解説書などで勉強してください。 参考まで・・・・頑張って下さい!!!!

picyan
質問者

お礼

ありがとうございました。 Rs0.Edit    'ここは色々の処理を書いてください。    'ここは色々の処理を書いてください。 Rs0.Update として無事データを変更することが出来ました。

その他の回答 (1)

noname#79209
noname#79209
回答No.2

VBAを使う方法もありますが、 全レコードに対しデータを書き換える等をしたいなら、更新クエリを使う手もあります。また、クエリの方が高速です。 VBAの中で使いたいなら、予めクエリを作っておき、 DoCmd.OpenQuery "クエリ名" で可能ですし、VBAの中でクエリを作ることもできます。 全レコードに対して何をしたいのか書いていただくと、それに対応したアドバイスができると思います。

関連するQ&A