Imprimir página | Cerrar ventana

Formularios independientes

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=86796
Fecha de impresión: 27/Marzo/2026 a las 02:44


Tema: Formularios independientes
Publicado por: Pp2010
Asunto: Formularios independientes
Fecha de publicación: 12/Octubre/2023 a las 18:52
Buenos dias, necesito ayuda con este tena, tengo dos formularios y necesito para de un formulario a otro unos datos para uardalos en otra tablahe intentado con este codigo:
Forms![01_CompraForm].[Comp_Und] = Forms![Inventario]![UndCompra] y me da un erro 2450 y me dice que no encuentra a referencia, he buscado en la web y es lo que he encontrado pero me el error que señale.
Por favor cualquier comentario es bien recibido pue no encuentro la causa

que la pasen bien



Respuestas:
Publicado por: mounir
Fecha de publicación: 12/Octubre/2023 a las 22:07
Hola!

Prueba así:

Form_01_CompraForm.Comp_Und = Form_Inventario.UndCompra


-------------
Un Saludo.


Publicado por: sdgm
Fecha de publicación: 12/Octubre/2023 a las 23:03
Otra alternativa:

Planteemos tu problema en una forma más específica:
    Un formulario llamado [Formulario1] tiene un control llamado [Control1].
    Un formulario llamado [Formulario2] tiene un control llamado [Control2].
    Se necesita asignar el valor de [Control1] a [Control2].

Un poco de teoría previa: 

Si estás en el [Formulario1], para referirte al valor del control [Control1] lo más eficiente es usar esta notación:
    Me.Control1.Value

Si estás en el [Formulario2], para referirte al valor del control de otro formulario [Control1], debes usar esta notación:
    Forms("Formulario1").Controls("Control1").value

Entonces, si la acción la vas a ejecutar desde el formulario que recibirá el dato (Formulario2), deberías utilizar una expresión como esta:
    Me.Control2.value = Forms("Formulario1").Controls("Control1").Value

Si la acción la vas a ejecutar en el formulario que dará el dato (Formulario1), deberias usar:
    Forms("Formulario2").Controls("Control2").value = Me.Control1.value


Si estás en un módulo externo a tus formularios, o en un tercer formulario, deberías usar:
    Forms("Formulario2").Controls("Control2").value = Forms("Formulario1").Controls("Control1").Value        



-------------
Cordialmente, David


Publicado por: Pp2010
Fecha de publicación: 12/Octubre/2023 a las 23:47
Muchisimas gracias, siempre por la generosa ayuda.
Resolvi con el coentario de mounir
Pueden cerrar ete hilo


Publicado por: emiliove
Fecha de publicación: 12/Octubre/2023 a las 23:51
También puedes usar el generador de expresiones para que te de lo que necesitas, y recuerda que para que funcione siempre debe estar el formulario Inventario abierto, o si lo cierras con openargs podrías también conseguirlo.

Saludos.



Imprimir página | Cerrar ventana