Como restringir modificación de texto en access

Tengo un formulario en access y necesito evitar que luego de haber ingresado texto en un campo memo este ya no pueda ser modificado luego de haber pasado un periodo de 24 horas

Respuesta

Hay varias formas, necesita un campo para registrar la fecha y hora. En el evento del Formulario Antes de actualizar controla si han pasado las 24 horas, si es así bloquea el campo memo, algo como:

TABLA

FORMULARIO

Observe que esta deshabilitado el campo anotacion porque la fecha es del 17/05/2021 y hoy la fecha es 19/05/201, han pasado más de 24 horas.

En este formulario como la fecha es 19/05/2021 y la hora en que se registró la información eran las 11:39 a.m permite se siga editando el campo memo.

CODIGO

Código del evento Después de actualizar del campo anotacion

Private Sub anotacion_AfterUpdate()
  If Me.NewRecord Then
    Me.fecha_anotacion = Now()
  End If
End Sub

Código del evento Al activar registro del formulario:

Private Sub Form_Current()
 Dim dateFecha As Date
  dateFecha = Me.fecha_anotacion
  If DateDiff("h", dateFecha, Now()) > 24 Then
   Me.anotacion.Enabled = False
 Else
   Me.anotacion.Enabled = True
 End If
End Sub

Bueno esto es una forma.

Modifiqué el código del evento Después de Actualizar del formulario para evitar errores.

Private Sub Form_Current()
On Error GoTo hay_error
 Dim dateFecha As Date
If Not Me.NewRecord Then
  dateFecha = Me.fecha_anotacion
  If DateDiff("h", dateFecha, Now()) > 24 Then
   Me.anotacion.Enabled = False
 Else
   Me.anotacion.Enabled = True
 End If
Else
 Me.anotacion.Enabled = True
End If
hay_error_exit:
   Exit Sub
hay_error:
     MsgBox "Ocurrió el error " & Err.Number & " " & Err.Description, vbCritical, "Error..."
     Resume hay_error_exit
     

Perdón es Al activar Registro .

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas