Te presento una posibilidad. ¿No sería mejor que una vez hayas "revisado" una máquina, ésta no aparezca ya en el combinado? Así evitas que puedan repetirla. Por ejemplo, supongamos que tengo una tabla Maquinas, con los datos de cada maquina. Como no sé esos datos le he puesto un número y como no tengo ganas de trabajar sólo he puesto 5

También tengo una tabla a la que he llamado Turnos, que contendría los campos que se ven en el formulario, pero yo sólo he puesto 4

Tengo un formulario independiente, con los mismos campos que la tabla

Anoto la fecha elijo el turno, en este caso el 1 y me crea en la tabla Turnos 5 registros con esa fecha, ese turno y cada una de las máquinas.

Ahora elijo la maquina

En este caso la 1, y cuando marco realizada como hecha( así les obligo a que justifiquen que lo han hecho), la tabla Turnos me la deja

También me deja el formulario, con la misma fecha y el mismo turno, ya que se supone que sigue trabajando ese mismo turno, pero en máquinas ya no me aparece la 1

Tiene además una ventaja, y es que si tuvieran la osadía de decirte que las han revisado todas, con mirar en la tabla sabes si se han dejado alguna( motivo suficiente para despedirlos o cortarle la lengua por mentirosos). El código del formulario es
Private Sub Maquina_GotFocus()
Maquina.Requery
End Sub
Private Sub Realizada_AfterUpdate()
If Realizada = -1 Then
DoCmd.RunSQL "update turnos set realizada=-1 where fecha=forms!turnos!fecha and turno=" & Me.Turno & " and maquina=" & Me.Maquina & ""
Maquina = ""
Realizada = 0
End If
End Sub
Private Sub Turno_BeforeUpdate(Cancel As Integer)
If Nz(DCount("*", "turnos", "fecha=forms!turnos!fecha and turno=" & Me.Turno & "")) = 0 Then
Dim i As Byte
For i = 1 To 5
DoCmd.RunSQL "insert into turnos(Fecha,turno,maquina)values(fecha,turno," & i & ")"
Next
Else
Exit Sub
End If
End Sub
De todas formas como creo que tienes mi correo, si quieres el ejemplo ya sabes lo que tienes que hacer.