Poder incluir el campo de un formulario en varios otros.
Hola a todos, estoy haciendo una aplicación en Access, donde tengo un formulario que lo llamo BUSCADOR, y lo abro desde otros formularios, para copiar un campo que necesito de BUSCADOR.
Ejemplo: Desde el formulario ALFA, abro BUSCADOR, y atraves de un boton una vez localizo el campo deseado para copiar, al hacer clic en el boton, se ejecuta este codigo:
Forms!BUSCADOR!COBR=Forms!ALFA!COBR
Docmd. Close
Hasta aquí todo perfecto, pero como hago para que desde otros formularios diferentes a ALFA, pueda hacer lo mismo, ya no me deja..... y hacer tantos formularios BUSCADOR, como otros formularios donde necesite ese campo, es demasiado, porque se me presenta una aplicación con mas de doscientos formularios..lo cual hace que vaya muy lenta.
Gracias por vuestra ayuda.
Ejemplo: Desde el formulario ALFA, abro BUSCADOR, y atraves de un boton una vez localizo el campo deseado para copiar, al hacer clic en el boton, se ejecuta este codigo:
Forms!BUSCADOR!COBR=Forms!ALFA!COBR
Docmd. Close
Hasta aquí todo perfecto, pero como hago para que desde otros formularios diferentes a ALFA, pueda hacer lo mismo, ya no me deja..... y hacer tantos formularios BUSCADOR, como otros formularios donde necesite ese campo, es demasiado, porque se me presenta una aplicación con mas de doscientos formularios..lo cual hace que vaya muy lenta.
Gracias por vuestra ayuda.
El problema es que desde el formulario BUSCADOR estás haciendo referencia a ALFA, y claro, de eso modo lo haces "exclusivo" para ese ALFA.
La solución es usar una funcion en BUSCADOR, de la siguiente manera:
en el formulario BUSCADOR pon una función ma´s o menos como esta:
Public Function busca_cliente() As Long
Buscador.Show 1
busca_cliente = Cod_ing
End Function
entonces para llamar a buscador no uses BUSCADOR.SHOW, sino:
cod_cliente=Buscador.busca_cliente()
qué es lo que estamos haciendo?
al llamar a la función se ejecuta el código que hay en ella, el cual hace el show de buscador (con MODAL) y esa misma función te devuelve, una vez seleccionado el cliente o lo que sea que busques, el código, y lo devuelve en la misma función.
para seleccionar el elemento del grid (porque supongo que muestras un grid) sólo has de hacer:
Cod_cliente= Val(grid1.TextMatrix(grid1.Row, 0))
Unload Me
Cuando haces UNLOAD ME continúa donde lo dejó al llamar a BUSCADOR, o sea, justo la línea que sigue al BUSCADOR.SHOW 1
Como puedes comprobar, dentro del formulario BUSCADOR no harás ninguna referencia al formulario desde el cual ha sido llamado.
Espero que se entienda bien.
La solución es usar una funcion en BUSCADOR, de la siguiente manera:
en el formulario BUSCADOR pon una función ma´s o menos como esta:
Public Function busca_cliente() As Long
Buscador.Show 1
busca_cliente = Cod_ing
End Function
entonces para llamar a buscador no uses BUSCADOR.SHOW, sino:
cod_cliente=Buscador.busca_cliente()
qué es lo que estamos haciendo?
al llamar a la función se ejecuta el código que hay en ella, el cual hace el show de buscador (con MODAL) y esa misma función te devuelve, una vez seleccionado el cliente o lo que sea que busques, el código, y lo devuelve en la misma función.
para seleccionar el elemento del grid (porque supongo que muestras un grid) sólo has de hacer:
Cod_cliente= Val(grid1.TextMatrix(grid1.Row, 0))
Unload Me
Cuando haces UNLOAD ME continúa donde lo dejó al llamar a BUSCADOR, o sea, justo la línea que sigue al BUSCADOR.SHOW 1
Como puedes comprobar, dentro del formulario BUSCADOR no harás ninguna referencia al formulario desde el cual ha sido llamado.
Espero que se entienda bien.
