Vamos a suponer que la tabla, y por tanto el formulario tiene un campo llamado Fecha y otro Estado. En el formulario comprueba que el cuadro de texto, en sus Propiedades-Otras-Nombre se llama Fecha.
En las propiedades del cuadro Fecha, en eventos-Después de actualizar, crea un procedimiento de evento y escribe
Private Sub Fecha_AfterUpdate()
Select Case Format([Fecha], "dddd")
Case Is = "sábado", "domingo"
DoCmd.CancelEvent
Case Else
Estado = "72 horas"
End Select
End Sub
Y en las propiedades del formulario, en eventos-al activar el registro crea otro procedimiento de evento y escribe
Private Sub Form_Current()
Select Case Date
Case Is = ([Fecha] + 1) And Format([Fecha] + 1, "dddd") <> "sábado", "domingo"
Estado = "48 horas"
Case Is = ([Fecha] + 1) And Format([Fecha] + 1, "dddd") = "sábado", "domingo"
Estado = "72 horas"
Case Is = ([Fecha] + 2) And Format([Fecha] + 2, "dddd") <> "sábado", "domingo"
Estado = "24 horas"
Case Is = ([Fecha] + 2) And Format([Fecha] + 2, "dddd") = "sábado", "domingo"
Estado = "48 horas"
Case Is = ([Fecha] + 3) And Format([Fecha] + 3, "dddd") <> "sábado", "domingo"
Estado = "actividad en curso"
Case Is = ([Fecha] + 3) And Format([Fecha] + 3, "dddd") = "sábado", "domingo"
Estado = "24 horas"
Case Is = ([Fecha]) + 4 And Format([Fecha] + 4, "dddd") = "domingo"
Estado = "24 horas"
Case Else
Estado = "Actividad en curso"
End Select
End Sub
Me ha costado comprobarlo porque cada vez que le cambiaba la fecha al sistema para probarlo, como el puñetero ordenador se conecta al satélite y este le decía que esa fecha no era correcta, me la cambiaba.