Desbloquear camposubformulario desde evento formulario

No te asustes esta pregunta es mucho más sencilla.
Tengo un formulario principal con un subformulario vinculado.
En el subformulario tengo un campo bloqueado(locked) .
Lo que quiero es que al poner el foco en un campo del formulario principal me desbloquee el campo del subformulario. Pero no se como, por decirlo de alguna manera direccionarlo.
He probado con esto y sus cien variantes, pero nada.
Formularios!formularioprincipal!subformulario!camposubformulario.locked = false
.
Una ayudita

1 Respuesta

Respuesta
1
Uf, ya te dije que no soy un superexperto. A mí eso también me da problemas. No entiendo por qué no entiende las rutas porque, en teoría debería hacerlo. De hecho yo me metí en todoexpertos por algo parecido y no he conseguido que nadie me lo solucione.
¿Por qué te interesa que esté bloqueado si luego quieres que se desbloquee automáticamente? A lo mejor hay una solución alternativa a lo que buscas
Es lo único que puedo ofrecerte.
Ya veo que la cosa es más complicada de lo que parece. Te explico más o menos el porque quiero hacerlo.
El formulario principal esta vinculado al supfromulario mediante relaciones de las tablas.
El principal crea el Nº Facrura con autonumérico y en el subformulario los datos de las ventas, producto, precio, descuento, cantidad...
El problema viene cuando metes las ventas en el subformulario sin antes haber creado el Nº factura, me sale el error de que necesita haberse creado antes la factura(Haber iniciado antes el registro de factura que el de ventas ya que están vinculados).
Si primero creas la factura y luego las ventas no hay problema. Pero yo mismo al hacer pruebas me confundo y meto antes las ventas. Imaginate alguien que no tiene costumbre. Tendría que darle todo el rato a deshacer registro activo en el menu herramientas. Una chapuza.
Con lo de bloquear el campo subformulario consigo controlar el error y no se activara hasta que no se cree lel Nº factura. Vaya rollo no.
Tengo un conocido que es un guru en access le voy a preguntar a el( ya lo tengo frito a preguntas por eso recurro a todoexpertos, para que no se aburra de mi).
Dejo la pregunta abierta, y cundo sepa algo contesto. ¿O si se te ocurre otra cosa?
Gracias
Si lo que quieres es eso puedes bloquear/desbloquear todo el subformulario, eso sí te lo permitirá hacer.
¿Ya lo he intentado y no me sale?
Cual seria el código y el evento en el que debería ir para bloquear o desactivar el subformulario.
Gracias
Dentro de tu formulario el subformulario tendrá un nombre (que puede coincidir o no con el que tenga como elemento de tu base de datos). Ese nombre es el que tienes que utilizar (puedes saber cuál es en la pestaña "otras" dentro de sus propiedades). Imagina que se llama subformulario, sería más o menos como tu pusiste
subformulario. locked=false
Eso sí, el formulario deberá estar bloqueado y tienes que hacer también que al irte al siguiente registro se vuelva a bloquear (o tendrías el mismo problema con la siguiente factura)
En lugar de bloquearlo puedes hacer también que sea o no visible.
Me tengo que ir. Mañana más
Bueno pues al final lo he conseguido bloqueado el formulario. Al final era fácil no entiendo como no lo conseguía.
Bloquear subformulario   Me.subformulario.Locked = False
Lo puedes poner en el evento que te convenga(formulario principal), yo lo he puesto al activar registro
Y para activarlo puedes poner un botón o en un cotrol en el evento que te convenga.(Formulario principal)
Me.subformulario.Locked = true
Tambien lo he conseguido ocultar, pero me quedo con la opcion bloqueado.
Boton       me.subformulario.visible=not me.subformulario.visible
evento     me.subformulario.visible = False     o    true
Saludos y muchas gracias por tu ayuda
PD: la dejo abierta por si quieres comentarme algo, la cerrare cuando me digas algo.
Nada que comentar, me alegro de que lo hayas solucionado.
Bueno una aclaración volviendo al hilo de la primera pregunta.
He conseguido desbloquear un campo de un subformulario desde un evento del formulario principal.
Me.subformulario![camposubformulario].locked = false
Aunque al final opto por la opción de bloquear todo el formulario que queda mejor, pero bueno te lo aclaro porque parece que tu también tenias esa duda.
Saludos y gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas