Access - bloquear y desbloquear cuadros de texto en un formulario

 
Vista:
sin imagen de perfil

bloquear y desbloquear cuadros de texto en un formulario

Publicado por Eliel Lopez Vazquez (1 intervención) el 23/07/2014 17:50:28
Necesito ayuda... Tengo una base de datos con un formulario, y en el formulario tengo controles (botones) que quiero hagan funciones como nuevo, guardar, cancelar, etc... Cuando ejecuto mi formulario en Vista formulario, todos los campos quedan activos y se puede escribier, sobreescribir, borrar, etc. Lo que hice para que esto no sucediera y quedaran los campos bloqueados sino hasta despues de ejecutar el boton Nuevo, fue que al cargar el formulario los campos se bloqueen, por ejemplo: NombreDelCampo.Locked = True, con esta opcion si me bloquea los campos al cargar el formulario y ya no se pueden manipular los datos de esos campos... Ahora el problema que tengo es que al agregar el boton Nuevo, si me coloca un registro en blanco para capturar los datos, pero como previamente los habia bloqueado, entonces los campos me aparecen desactivados y lo que hice fue que al hacer clic en el boton nuevo me volviese a activar los campos, por ejemplo: NombreDelCampo.Locked = False, y se supone que con esta instruccion al hacer clic en el boton nuevo me mostraria un registro en blanco y los campos desactivados para poder capturar, pero ahora ni siquiera me muestra registro en blanco para capturar los datos, ya no funciona el boton... que hago... y como le hago siguiendo esta tecnica para programar los siguientes botones como cancelar, borrar, modificar, etc...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

bloquear y desbloquear cuadros de texto en un formulario

Publicado por Neckkito (1157 intervenciones) el 25/07/2014 18:57:54
Hola!

Partiendo de un formulario sin códigos lo que tendrías que hacer es lo siguiente:

- Sacas las propiedades del formulario -> Pestaña Eventos -> Al activar registro

- En ese evento le generas el siguiente código:

...
Private Sub...
If me.newrecord then
With me
.Campo1.enabled=true
.Campo2.enabled=true
'Y así con el resto de campos
End with
Else
With me
.Campo1.enabled=false
.Campo2.enabled=false
'Y así con el resto de campos
End with
End if
End sub
...
El código lo que hace es desbloquearte los campos si te sitúas en un registro nuevo; en caso contrario los bloquea.

La mecánica para, en un registro que no sea nuevo, desbloquear los campos es simplemente asignar el código (por ejemplo al evento "Al hacer clic" de un botón de comando):
...
Private Sub...
With me
.Campo1.enabled=true
.Campo2.enabled=true
'Etc
End with
End sub
...

Lo anterior es un código "manual". Si son todos los textbox del formulario los que deben quedar bloqueados sería más cómodo programar una rutina que te recorriera esos campos y te los bloqueara o desbloqueara. Como quizá lo óptimo sería utilizar procedimientos no te lo explico aquí. Si fuera así (con todos los textbox bloqueados/desbloqueados) me lo comentas y te preparo un ejemplo para que veas cómo funcionaría.

Un saludo,

http://neckkito.siliconproject.com.ar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

bloquear y desbloquear cuadros de texto en un formulario

Publicado por jorgeruben9 (106 intervenciones) el 20/10/2014 17:59:32
neckkito me podría comentar la opción que todos los textbox bloqueados/desbloqueados , ( el tema es bloquear todos al momento de cargar y que no se puedan modificar.

Si tenes la opción de como se desbloquea en el caso que quieras modificar algun campo
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

bloquear y desbloquear cuadros de texto en un formulario

Publicado por Neckkito (1157 intervenciones) el 20/10/2014 18:03:34
Tienes la respuesta en mi respuesta. Suponiendo que todos están bloqueados, en cualquier botón...

[...] (por ejemplo al evento "Al hacer clic" de un botón de comando):
...
Private Sub...
With me
.Campo1.enabled=true
.Campo2.enabled=true
'Etc
End with
End sub
...

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

bloquear y desbloquear cuadros de texto en un formulario

Publicado por jorgeruben9 (106 intervenciones) el 20/10/2014 19:02:19
mi cuadros no es un boton de comando si no es un cuadro de texto

fijate si es lo mismo porque lo aplique a un cuadro de texto y no funsiona

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

bloquear y desbloquear cuadros de texto en un formulario

Publicado por Neckkito (1157 intervenciones) el 20/10/2014 19:11:38
Jorge:

No tienes mucha idea de Access, ¿verdad? No es una crítica ni ironía, sino que resulta muy difícil explicar las cosas a alguien que no tiene conocimientos suficientes.

Un campo en un formulario no deja de ser un control, y un cuadro de texto es un control. Y como control tiene la propiedad bloqueado.

Para manipular esa propiedad por VBA simplemente basta llamar al nombre del control y definir el estado de la propiedad. Y eso se hace con la línea:

me.[NombreControl].enabled=false 'para bloquear
me.[NombreControl].enabled=true 'para desbloquear.

Y no hay más. Si no te sale es porque lo estás haciendo mal. ¿Qué es lo que haces mal? Pues no tengo ni idea porque no te veo hacerlo.

Créate una tabla de un solo campo, llámalo [Test] (sin los corchetes), créate un formulario sobre esa tabla, créate dos botones de comando sobre el formulario. En el primero escribes, en el evento "Al hacer clic":

Private sub...
me.Test.enabled=false
End sub

Y en el otro botón lo mismo, pero en vez de false escribes true.

Y verás que, según el botón que pulses, el campo, que es un control, que es un cuadro de texto, se activa o desactiva.

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

bloquear y desbloquear cuadros de texto en un formulario

Publicado por JOHANN (1 intervención) el 08/11/2014 12:19:03
buen dia, tengo una dificultad con el access, tengo un archivo en el cual , la barra de herraientas aparece bloqueda, solo deja cerrarlo y no se puede hacer ninguna accion y cuando le doy abrir, en el menu aparece seleccionado en COMPARTIR la opcion nadie, como hago para quitarle ese candado, que no deja editarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

bloquear y desbloquear cuadros de texto en un formulario

Publicado por jorge ivan (2 intervenciones) el 10/08/2015 20:26:55
hola amigo gracias por esta respuesta me funciono y me sirvió gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar