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

1 Respuesta

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