** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Bloquear Cuadro de texto por fecha
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoBloquear Cuadro de texto por fecha

 Responder Responder
Autor
Mensaje
kike Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 21/Diciembre/2011
Localización: España
Estado: Sin conexión
Puntos: 17
Enlace directo a este mensaje Tema: Bloquear Cuadro de texto por fecha
    Enviado: 11/Febrero/2023 a las 14:15
Hola. Me pueden ayudar por favor? :
Quiero bloquear un cuadro de texto, si la fecha es de ayer o anterior. Que únicamente me deje escribir el día de hoy las veces que quiera, pero si ya es pasado que lo bloquee, para que quede constancia de lo que se escribió.
En el formulario, hay un campo FECHA, que se rellena automáticamente cuando creo una hoja nueva.

He probado esto en AL RECIBIR EL FOCO:

Private Sub MAQ1_GotFocus()
Dim FechaHOY As Date
    FechaHOY = Date
    
If FECHA = FechaHOY Then MAQ1.Locked = False Else MAQ1.Locked = True

End Sub
------------------------
No se porque no funciona, por más vueltas que le doy...Angry
Arriba
01loko Ver desplegable
Colaborador
Colaborador


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 807
Enlace directo a este mensaje Enviado: 11/Febrero/2023 a las 16:40
no se de donde coges "fecha" pero:

Dim FechaHOY As Date
    FechaHOY = Date
    
'If Texto1 <> FechaHOY Then Texto3 = "funciona"
If Texto1 = FechaHOY Then Texto3.Locked = False Else Texto3.Locked = True

siendo texto1 un cuadro texto tipo fecha, funciona.


Recordar de que soy nuevo y estoy aprendiendo.
Arriba
kike Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 21/Diciembre/2011
Localización: España
Estado: Sin conexión
Puntos: 17
Enlace directo a este mensaje Enviado: 12/Febrero/2023 a las 03:30
Gracias por tu pronta respuesta y por querer ayudarme 01loko.
Lo desarrollo un poco más, ya que no lo he explicado bien por no ser demasiado extenso.

El formulario, consta de un cuadro FECHA, que se rellena automáticamente al crear la Hoja Diaria para escribir las novedades del día y de seis cuadros de texto, uno por cada maquina. Los llamo MAQ1, MAQ2....

Mi intención es comparar FECHA (la del formulario) con la variable FechaHOY, la cual relleno de la fecha de hoy. Como solo quiero que permita escribir si son iguales, en caso de no serlo que bloquee los seis cuadros de texto, que tiene el formulario Hoja Diaria.

Espero haberme explicado mejor. Si le puedes dar una vueltilla más te lo agradecería. En cualquier caso MUCHAS GRACIAS de nuevo 01loko.
Arriba
kike Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 21/Diciembre/2011
Localización: España
Estado: Sin conexión
Puntos: 17
Enlace directo a este mensaje Enviado: 20/Febrero/2023 a las 10:17
Creo que el problema esta en la síntesis (pones el nombre de los objetos sin la propiedad formulario) un objeto se designa "formulario,objeto" si el formulario es el mismo formulario "me.objeto".
además estas usando el evento incorrecto (al cargar / al recibir maq1 el foco) cuando debes usar el evento activar registro.
Prueba asi:

Private Sub Form_Current()
Debug.Print Me.Fecha
If Format(Me.Fecha, "dd/mm/yyyy") < Date Then
Me.MAQ1.Locked = True
Me.MAQ2.Locked = True
Me.MAQ3.Locked = True
Me.MAQ4.Locked = True
Else

Me.MAQ1.Locked = False
Me.MAQ2.Locked = False
Me.MAQ3.Locked = False
Me.MAQ4.Locked = False

End If
End Sub
-----------------------------
Muchas gracias 01loko. Me has sido de gran ayuda.
Kike.Clap

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable