Imprimir página | Cerrar ventana

Modificar Subformulario haciendo doble click

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84879
Fecha de impresión: 20/Septiembre/2020 a las 07:38


Tema: Modificar Subformulario haciendo doble click
Publicado por: fede1811
Asunto: Modificar Subformulario haciendo doble click
Fecha de publicación: 10/Diciembre/2019 a las 14:26
Buenos días

He estado buscando por Internet pero no pude dar con la solucion.

Tengo un Formulario Independiente que contiene un subformulario que hace referencia a la tabla que se carga mediante ese mismo formulario (El subformulario no es independiente, osea esta vinculado a la tabla).

El subformulario esta en forma tabular y por ende aparecen los registros en filas.

Mi duda es la siguiente:

Hay forma de que yo haciendo doble click en un registro del subformulario (en alguno de los campos de la fila) pueda hacer referencia a ese mismo registro y me lo seleccione para por ejemplo modificarlo en el formulario principal?

Por el momento tengo botones para avanzar, retroceder, etc y tambien para filtrar el subformulario y recorrer esos registros filtrados.

Como se puede notar, tengo conocimientos basicos de Access.

Muchas gracias de antemano.



Respuestas:
Publicado por: xavi
Fecha de publicación: 10/Diciembre/2019 a las 15:27
Hola fede1811,

Deberías crear una función en el subformulario para realizar la navegación y asociarla al evento Doble-clic de los distintos controles del subformulario.

Asumo que, cuando dices "modificarlo en el formulario principal" quieres decir modificarlo en otro formulario ya que el principal dices que es independiente por lo que no puede modificar datos (al menos no de una forma simple)

Un saludo



-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: fede1811
Fecha de publicación: 10/Diciembre/2019 a las 15:51
Efectivamente, a pesar de que sea independiente, a traves del recordset lo utilizo para modificar los datos de la tabla. (Esta hecho en base a los tutoriales de formularios de Neckitoo que se encuentran por internet).

El subformulario cumpliria la funcion de ver que registros hay en la tabla (osea, simplemente visual). Mi propósito es que ademas de que sea solo visual, pueda interactuar con el formulario independiente para tener un atajo y poder modificar directamente el registro seleccionado y evitar tener que ir clickeando las flechitas de siguiente hasta llegar al requerido.

Muchas gracias por responder, no se si me he podido explicar mejor.


Publicado por: xavi
Fecha de publicación: 10/Diciembre/2019 a las 16:04
Lo que haces y lo que pretendes hacer se parece "sospechosamente" al comportamiento de un formulario dividido. ¿No te vale esa opción?

En caso de seguir con la idea, necesitas una función para traspasar cada uno de los valores del subformulario al formulario principal:

Function TraspasaValores()
Me.Parent!UnCampo = Me!UnCampo
Me.Parent!OtroCampo = Me!OtroCampo
End Function

Esa función la asignas al evento doble-clic de todos los controles del subformulario. Lo puedes hacer directamente en la hoja de propiedades o por código.
En la hoja, en la propiedad adecuada:
=TraspasaValores()

Por codigo (en el Load del subformulario, por ejemplo):
Me!UnCampo.OnDblClick = "=TraspasaValores()"

Luego vendrá como salvar esa información pero eso ya es tema de otro hilo.

Un saludo





-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: fede1811
Fecha de publicación: 10/Diciembre/2019 a las 16:28
Claro, seria un formulario dividido pero al trabajar con campos independientes no lo puedo hacer directamente.

Desconocia/Desconozco la funcion parent, creo que por ahi viene mi problema.

Probare esto que me dices, en cuanto a salvar la informacion no tengo incovenientes ya que actualmente ya lo he podido hacer y tengo una funcion guardar_datos() que se encarga de eso.

Muchas gracias nuevamente, lo intentare resolver asi, si no es molestia vuelvo a consultar si ocurre algun problema.



Imprimir página | Cerrar ventana