|
Responder
|
| Autor | |
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Tema: Formulario Bloqueado.Enviado: 09/Abril/2024 a las 15:05 |
|
Hola y buenas tardes.
Una consulta que lanzo al foro. Sobre un formulario, tengo un campo de tipo CheckBox, que al marcarlo me indica que ese registro está completo en cuanto a sus datos (tramitación de un expediente). Por seguiridad, le he puesto código al formulario para que al marcarlo (Finalizado_box), ese registro se quede bloqueado y no se puedan modificar los datos. He hecho algo así y funciona: Private Sub Form_Current() If Not IsNull(Me.Finalizado_box) Then Me.AllowEdits = Not Me.Finalizado_box Else Me.AllowEdits = True End If End Sub Lo que ocurre, es que si quiero modificar algo, por cualquier razón, debo quitar la marca en el check, pero no me deja, porque lo he bloqueado; he intentado quitar esta propiedad a este campo concreto, pero no me sale, no me deja desmarcarlo. Lo realizado es: Private Sub Form_Current() If Not IsNull(Me.Finalizado_box) Then Me.AllowEdits = Not Me.Finalizado_box Finalizado_box.Locked = True Else Me.AllowEdits = True End If End Sub Algo deebo estar haciendo mal... ¿alguna sugerencia? Gracias por adelantado y salu2
|
|
![]() |
|
pitxiku
Colaborador
Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1536 |
Enviado: 09/Abril/2024 a las 22:07 |
|
Si bloqueas el formulario, es lógico que no puedas modificar el registro. Posibilidades, creo que hay varias. Algunas que se me ocurren:
1. Puedes usar la propiedad Locked de los controles que no quieras que se puedan modificar, en vez de bloquear el formulario. 2. Puedes poner un botón de comando, para que cuando lo pulsen, desbloquees el formulario y le quites la marca al checkbox. Incluso puedes sacar un mensaje pidiendo confirmación, o una contraseña, o... 3. Aunque esté bloqueado, puedes revisar si funciona el evento Al hacer click del checkbox. Si funciona, puedes desbloquear el formulario y desmarcar entonces la casilla. Revisa también la posibilidad de borrar el registro (AllowDeletions), no sea que no te lo puedan modificar, pero por error te lo borran. |
|
![]() |
|
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Enviado: 10/Abril/2024 a las 08:20 |
|
Incluso se me ocurre una cuarta opción: Un acceso a una consulta donde te aparezca el nº de registro y el check y ahí poder desmarcarlo con lo que liberaría el bloqueo. La opción 1 la descarto porque son muchos los controles que tengo y, por eso, bloqueo el formulario. La opción 2 es posible pero al igual que la consulta que propongo es recurrir a algo extra más. La opción 3 de el evento al hacer click del checkbox no va, al estar bloqueado. Realmente lo que intento es que se bloquee el formulario al marcar el check con la excepción de ese campo que se marca y... no lo veo. |
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Enviado: 10/Abril/2024 a las 12:45 |
|
No lo ves... porque no se puede (hasta dónde a mi me consta). Si se impiden las ediciones, se impiden para todo.
La opción más fácil de implementar con menos trabajo es la segunda aunque yo utilizo la primera casi siempre. Un saludo
|
|
![]() |
|
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Enviado: 10/Abril/2024 a las 14:53 |
|
Ok. Me decanto por el botoncito... Private Sub Btn1_Click() Me.Finalizado_box = False End Sub ... y se acabó la historia. El botón me quita la marca, se hace el cambio necesario y se vuelve a bloquear con la marca. Lo curioso es que creo que es la primera vez que en este sitio me dicen que "algo" no se puede hacer. Por mi parte se puede cerrar el hilo entonces.
|
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 10/Abril/2024 a las 15:47 |
|
Dios hace milagros, pero ni siquiera Él puede hacer un círculo cuadrado.
![]() Si tú bloqueas un formulario, estás bloqueando el conjunto, no sus partes. Como te dijo Xavi, lo suyo es bloquear/desbloquear los elementos que te interesen, aunque te dé más trabajo. Un saludo.
Editado por Mihura - 10/Abril/2024 a las 15:47 |
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |