ACCESS:フラグを消し去るVBA #2 Do Loop
- (2010-02-17 06:04:04)
昔書いたコードを引っ張ると「Do Until〜Loop」を使用していた。
Do Loopでサンプルコードを書く。テーブルは2種類、それぞれに消したいフィールドが2個あると想定。DatabaseオブジェクトをSetしてレコードセットのインスタンスを作成。最初のレコードから最後のレコードまで順々にフラグにFalseを入れていく操作。
Private Sub フラグクリア_Click()
Dim DB As Database
Dim RS1 As Recordset
Dim RS2 As Recordset
Set DB = CurrentDb
'テーブル1のフラグを消し去る
'Do Loopでレコードを最後までなめ回す
Set RS1 = DB.OpenRecordset("テーブル1", dbOpenTable)
Do Until RS1.EOF
RS1.Edit
RS1![フィールド1] = "False"
RS1![フィールド2] = "False"
RS1.Update
RS1.MoveNext
Loop
RS1.Close
Set RS1 = Nothing
'テーブル2のフラグを消し去る
'Do Loopでレコードを最後までなめ回す
Set RS2 = DB.OpenRecordset("テーブル2", dbOpenTable)
Do Until RS2.EOF
RS2.Edit
RS2![フィールド3] = "False"
RS2![フィールド4] = "False"
RS2.Update
RS2.MoveNext
Loop
RS2.Close
Set RS2 = Nothing
Set DB = Nothing
End Sub
この記事は#2
ACCESS:フラグを消し去るVBA #5 スピード対決
ACCESS:フラグを消し去るVBA #4 DoCmd.RunSQL
ACCESS:フラグを消し去るVBA #3 Execute
ACCESS:フラグを消し去るVBA #2 Do Loop
ACCESS:フラグを消し去るVBA #1 消し忘れ