sk様
追加のコードについては、投稿時に端折っただけです。
ご提示の1~5の選択肢については3だと思われます。
下記のコードに書き換えて実行してみました。
それでも同じく残業管理ID 95の残業区分が4にならずに2のままでした。
他の残業区分IDは残業区分が3になっています。
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
rs.CursorLocation = adUseClient
rs.Open "tbl残業管理", cn, adOpenKeyset, adLockOptimistic
rs.Sort = "日付 ASC, 担当者ID ASC, 残業区分 ASC"
rs.MoveFirst
Do Until rs.EOF
If rs!残業区分 = 1 Then
If DCount("休日", "tbl休日", "休日 = #" & rs!日付 & "#") > 0 Then
rs!残業区分 = 3
rs.Update
End If
ElseIf rs!残業区分 = 2 Then
If DCount("休日", "tbl休日", "休日 = #" & rs!日付 & "#") > 0 Then
rs!残業区分 = 4
rs.Update
End If
End If
rs.MoveNext
Loop
rs.Sort = ""
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
通報 ...
書き換えたコードは途中略なしです。