Pasar datos entre Formularios existiendo un Subformulario
Dispongo de un Formulario de cabecera de datos y un Subformulario con lineas de ventas estos estan conectados entre si.
Necesito desde un Formulario de Artículos pasar la Descripcion y PVP a las lineas de venta.
He utilizado esta funcion y me da error, me dice que no encuenta el subformulario: ZLINEASCLIENTESMOSTRADOR.
Si pruebo pasar directamente los datos al subformulario (fuera del formulario principal) me los pasa perfectamente pero como subformulario no lo acepta y me da el error que no lo encuenta.
He de pasar dos campos: (DescripcionArticulo y PRECIOVenta)
Private Sub Comando7_Click()
Forms![ZCABECERAVENTASMOSTRADOR]![ZLINEASCLIENTESMOSTRADOR]![ArticuloMostra] = Forms![ZMaestroArticulosMostrador]![DescripcionArticulo]
Forms![ZCABECERAVENTASMOSTRADOR]![ZLINEASCLIENTESMOSTRADOR]![PVPMostra] = Forms![ZMaestroArticulosMostrador]![PRECIOVenta]
DoCmd.Close
End Sub
1 respuesta
Has de indicarle que el subformulairo también es un formulario:
Private Sub Comando7_Click()
Forms![ZCABECERAVENTASMOSTRADOR]![ZLINEASCLIENTESMOSTRADOR]!Form![ArticuloMostra] = Forms![ZMaestroArticulosMostrador]![DescripcionArticulo]
Forms![ZCABECERAVENTASMOSTRADOR]![ZLINEASCLIENTESMOSTRADOR]!Form![PVPMostra] = Forms![ZMaestroArticulosMostrador]![PRECIOVenta]
DoCmd.Close
End Sub
Hola como estas?
He añadido los Forms y me sigue dando el error 2465, y ahora mnedice que el campo Forms no existe
esto es como ahora lo tengo:
Private Sub Comando7_Click()
Forms![ZCABECERAVENTASMOSTRADOR]!Forms![ZLINEASCLIENTESMOSTRADOR]![ArticuloMostra] = Forms![ZMaestroArticulosMostrador]![DescripcionArticulo]
Forms![ZCABECERAVENTASMOSTRADOR]!Forms![ZLINEASCLIENTESMOSTRADOR]![PVPMostra] = Forms![ZMaestroArticulosMostrador]![Precio Venta]
DoCmd.Close
End SubPrivate Sub Comando7_Click()
Forms![ZCABECERAVENTASMOSTRADOR]!Form![ZLINEASCLIENTESMOSTRADOR]![ArticuloMostra] = Forms![ZMaestroArticulosMostrador]![DescripcionArticulo]
Forms![ZCABECERAVENTASMOSTRADOR]!Form![ZLINEASCLIENTESMOSTRADOR]![PVPMostra] = Forms![ZMaestroArticulosMostrador]![Precio Venta]
DoCmd.Close
End Sub
He deducido que era Forms en vez de Form aunque los he probado de las dos maneras y me da el mismo error.
Un saludo
¿Probaste con la forma que te puse yo?
La sintaxis genérica es, para hacer referencia a un control del subformulario desde el formulario principal:
Forms!NombreFormularioPrincipal!NombreSubformulario.Form.NombreControl
o de forma resumida:
Me.NombreSubformulario.Form.NombreControl
En tu caso, según entiendo yo, con esta sentencia:
Forms![ZCABECERAVENTASMOSTRADOR]![ZLINEASCLIENTESMOSTRADOR]!Form![ArticuloMostra] = Forms![ZMaestroArticulosMostrador]![DescripcionArticulo]
Le estás pasando al control ArticuloMostra del subformulario ZLINEASCLIENTESMOSTRADOR del formulario ZCABECERAVENTASMOSTRADOR el valor del control DescripcionArticulo del formulario ZMaestroArticulosMostrador
Hola de nuevo, mira asi es como lo he probado y me sigue diciendo con el error 2465 que no encuentra el campo ZLINEASCLIENTESMOSTRADOR al que se hace referencia en la expresion
Me dice el campo NO el Formulario, eso es normal?
Private Sub Comando7_Click()
Forms![ZCABECERAVENTASMOSTRADOR]![ZLINEAS CLIENTES MOSTRADOR]!Form![ArticuloMostra] = Forms![ZMaestroArticulosMostrador]![DescripcionArticulo]
Forms![ZCABECERAVENTASMOSTRADOR]![ZLINEAS CLIENTES MOSTRADOR]!Form![PVPMostra] = Forms![ZMaestroArticulosMostrador]![Precio Venta]
DoCmd.Close
End Sub
Me marca en amarillo la línea cuando le doy los parámetros
Muchas gracias por tu interés. Un saludo
Respondeme a esto:
ZCABECERAVENTASMOSTRADOR es un formulario
[ZLINEAS CLIENTES MOSTRADOR] es un subformulario dentro del formulario anterior
ArticuloMostra y PVPMostra son dos controles (cuadros de texto, imagino) del subformulario [ZLINEAS CLIENTES MOSTRADOR]
ZMaestroArticulosMostrador es otro formulario que tiene los controles DescripcionArticulo y [Precio Venta]
Esto es correcto, ¿no?
Ahora mis dudas:
1/ ¿El botón Comando7 en qué formulario está? Yo supongo que en ZMaestroArticulosMostrador
2/ Cuando pulsas el botón ¿ZCABECERAVENTASMOSTRADOR está abierto?
3/ El control que contiene el subformulario ¿realmente se llama ZLINEAS CLIENTES MOSTRADOR o tiene otro nombre?
Hpla de nuevo.
Te detallo todos los conceptos:
ZCABECERAVENTASMOSTRADOR (Formulario Principal).
ZLINEASCLIENTESMOSTRADOR (Subformulario dentro del anterior Formulario).
Boton Comando25 esta dentro del Subformulario para llamar a los articulos: ZMaestroArticulosMostrador
Dentro del formulario: ZMaestroArticulosMostrador esta el botón Comando7
En el evento Al hacer clik estan todos los parametros para acceso a los Nombres Artículos [DescripcionArticulo] y Precios [PVPMostra] que son dos campos de texto de la tabla: MAESTRO ARTICULOS
El Formulario y Subformulario estan perfectamente vinculados y abiertos:
Formulario en forma: Emergente
Subformulario en forma: NO Emergente
ZMaestroArticulosMostrado: forma Emergente
* He probado directamente desde:
ZLINEASCLIENTESMOSTRADOR (Modificando los parametros) y me pasa perfectamente los datos a las lineas de venta pero dentro del formulario principal no encuentra al subformulario dandome el error que te he comentado.
* Si necesitas alguna otra informacion dimelo y te la mando
Otra vez gracias por su amable atencion.
Un saludo
Hola de nuevo.
Te detallo todos los conceptos:
ZCABECERAVENTASMOSTRADOR (Formulario Principal).
ZLINEASCLIENTESMOSTRADOR (Subformulario dentro del anterior Formulario).
Boton Comando25 esta dentro del Subformulario para llamar a los articulos: ZMaestroArticulosMostrador
Dentro del formulario: ZMaestroArticulosMostrador esta el botón Comando7
En el evento Al hacer clik estan todos los parametros para acceso a los Nombres Artículos [DescripcionArticulo] y Precios [PVPMostra] que son dos campos de texto de la tabla: MAESTRO ARTICULOS
El Formulario y Subformulario estan perfectamente vinculados y abiertos:
Formulario en forma: Emergente
Subformulario en forma: NO Emergente
ZMaestroArticulosMostrado: forma Emergente
* He probado directamente desde:
ZLINEASCLIENTESMOSTRADOR (Modificando los parametros) y me pasa perfectamente los datos a las lineas de venta pero dentro del formulario principal no encuentra al subformulario dandome el error que te he comentado.
* Si necesitas alguna otra informacion dimelo y te la mando
Otra vez gracias por su amable atencion.
Un saludo
Hola de nuevo.
Te detallo todos los conceptos:
ZCABECERAVENTASMOSTRADOR (Formulario Principal).
ZLINEASCLIENTESMOSTRADOR (Subformulario dentro del anterior Formulario).
Boton Comando25 esta dentro del Subformulario para llamar a los articulos: ZMaestroArticulosMostrador
Dentro del formulario: ZMaestroArticulosMostrador esta el botón Comando7
En el evento Al hacer clik estan todos los parametros para acceso a los Nombres Artículos [DescripcionArticulo] y Precios [PVPMostra] que son dos campos de texto de la tabla: MAESTRO ARTICULOS
El Formulario y Subformulario estan perfectamente vinculados y abiertos:
Formulario en forma: Emergente
Subformulario en forma: NO Emergente
ZMaestroArticulosMostrado: forma Emergente
* He probado directamente desde:
ZLINEASCLIENTESMOSTRADOR (Modificando los parametros) y me pasa perfectamente los datos a las lineas de venta pero dentro del formulario principal no encuentra al subformulario dandome el error que te he comentado.
* Si necesitas alguna otra informacion dimelo y te la mando
Otra vez gracias por su amable atencion.
Un saludo
Hola de nuevo.
Te detallo todos los conceptos:
ZCABECERAVENTASMOSTRADOR (Formulario Principal).
ZLINEASCLIENTESMOSTRADOR (Subformulario dentro del anterior Formulario).
Boton Comando25 esta dentro del Subformulario para llamar a los articulos: ZMaestroArticulosMostrador
Dentro del formulario: ZMaestroArticulosMostrador esta el botón Comando7
En el evento Al hacer clik estan todos los parametros para acceso a los Nombres Artículos [DescripcionArticulo] y Precios [PVPMostra] que son dos campos de texto de la tabla: MAESTRO ARTICULOS
El Formulario y Subformulario estan perfectamente vinculados y abiertos:
Formulario en forma: Emergente
Subformulario en forma: NO Emergente
ZMaestroArticulosMostrado: forma Emergente
* He probado directamente desde:
ZLINEASCLIENTESMOSTRADOR (Modificando los parametros) y me pasa perfectamente los datos a las lineas de venta pero dentro del formulario principal no encuentra al subformulario dandome el error que te he comentado.
* Si necesitas alguna otra informacion dimelo y te la mando
Otra vez gracias por su amable atencion.
Un saludo
Por lo que comentas, este código te tendría que funcionar (es igual que el que te proponía en mi primera respuesta):
Private Sub Comando7_Click()
Forms.[ZCABECERAVENTASMOSTRADOR].[ZLINEASCLIENTESMOSTRADOR].Form.[ArticuloMostra] = Me.[DescripcionArticulo]
Forms.[ZCABECERAVENTASMOSTRADOR].[ZLINEASCLIENTESMOSTRADOR].Form.[PVPMostra] = Me.[PRECIOVenta]
DoCmd.Close
End Sub
Ahora bien, por el error que comentas, me inclino por que tienes algún control que no se llama como crees que se llama.
Te he preparado un ejemplo para que veas que la sintaxis sí es correcta. Fíjate ademas, en que en el ejemplo que te mando, el subformulario se llama LineasVentas, pero en el formulario Ventas, el control subformulario se llama DetalleVentas (y lo puse así a propósito para que veas la diferencia), y por tanto hago:
Forms.Ventas.DetalleVentas.Form.Articulo = Me.Descripcion
y no:
Forms.Ventas.LineasVentas.Form.Articulo = Me.Descripcion
Si no lo consigues, mándame una copia de tu BD sólo con los dos formulairos, el subformulario y las tablas asociados a ellos, y te lo miro.
¿Cómo hago para mandarte solo esos procesos?. ¿Creo un duplicado de la BD y en la nueva borro todos los procesos que no interesan y solo dejo los que están trabajando en esa función?
¿Cómo he de mandártela?, mándame el correo.
Un saludo
Haz una copia de la BD, dejando sólo las tablas y formularios objeto de la consulta (comprueba que funcionen), y súbela a dropbox, mega o similar, y me pones aquí el enlace de descarga
- Compartir respuesta