編集モードの指定がありません。
VBA
1 rs.Edit '← ココを追加
2 rs!Y_N = False
3 rs.Update
追記
上記はDAOだと思い込んでの回答でしたので、無視して下さい。
更新されないのは、FIND
の条件が意図通りで無い事です。
FIND
してもloopしているのがrs!Y_N = True
なので、最初に見つけた1件しか更新されません。
なので、以下の様にする必要があります。
VBA
1Dim rs As New ADODB.Recordset
2 rs.Open "テーブル1", CurrentProject.Connection, , adLockOptimistic
3 rs.Find "ID=2", adSearchForward
4 If rs.EOF = False Then
5 If rs!Y_N = True Then
6 rs!Y_N = False
7 rs.Update
8 End If
9 End If
10 rs.Close
尚、SQLを直接実行する方式だと以下だけで済みます。
VBA
1 CurrentDb.Execute "update テーブル1 set Y_N=False where ID=2 and Y_N=True"
追記2
全てリセット
VBA
1Dim rs As New ADODB.Recordset
2 rs.Open "テーブル1", CurrentProject.Connection, , adLockOptimistic
3 rs.MoveFirst
4 Do While rs.EOF = False Then
5 If rs!Y_N = True Then
6 rs!Y_N = False
7 rs.Update
8 End If
9 rs.MoveNext
10 Loop
11 rs.Close
VBA
1 CurrentDb.Execute "update テーブル1 set Y_N=False where Y_N=True"
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/20 16:18
2020/05/21 02:36
2020/05/21 06:56
2020/05/21 07:10
2020/05/21 12:27